Отображать подстроку, разделенную / в Hive

У меня есть столбец в моей таблице с такими записями, как:

this/is/my/dir/file
this/is/my/another/dir/file

Я хочу отобразить строку без имени файла:

this/is/my/dir/

Это запрос, который я использую:

select regexp_replace('this/is/my/another/dir/file','[^/]+','');

Я не уверен, как достичь этих целей в Hive, но на SQL-сервере вы можете сделать что-то вроде это, в котором ваше выражение должно быть '/'. Надеюсь, поможет.

LEE Hau Chon 31.05.2019 03:25
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
1
92
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хорошо, вы можете использовать regexp_replace, чтобы удалить file и зарезервировать только путь к каталогу, поскольку мы знаем, что имя файла не содержит символ '/' и всегда находится в конце пути к каталогу, поэтому регулярное выражение можно записать как '[^/]+$', примеры как ниже, это означает, что заменить подстроку с regexp '[^/]+$' на пустую ''.

select regexp_replace('/this/is/my/dir/file','[^/]+$','') as dir;
+-------------------+
|        dir        |
+-------------------+
| /this/is/my/dir/  |
+-------------------+

select regexp_replace('this/is/my/another/dir/file','[^/]+$','') as dir;
+--------------------------+
|           dir            |
+--------------------------+
| this/is/my/another/dir/  |
+--------------------------+

Другие вопросы по теме