Получите имя файла из столбца путь к файлу в Hive

#sql #hive #special-characters #hiveql

Вопрос:

У меня есть таблица, содержащая столбец FILE_PATH, как показано ниже

 FILE_PATH
root20102010-011234.zip
root20102010-022345.zip
root20102010-033456.zip
 

Как извлечь имя файла из столбца FILE_PATH с помощью запроса SELECT?

Ответ №1:

Я использовал приведенный ниже запрос, чтобы получить результат.

 select file_path,substr(file_path,-1*(locate('\',reverse(file_path),1)-1)) from TABLE_NAME limit 2
 

Ответ №2:

вы можете использовать regexp_extract, чтобы получить все после последней обратной косой черты:

 select regexp_extract(file_path, '\\([^\\]*)

Четыре обратные косые черты используются для представления одной обратной косой черты, поскольку это специальный символ.

Использование разделения и размера:

 select split(file_path, '\\')[size(split(file_path, '\\'))-1] from TABLE_NAME
 

Использование разделения и обратного:

 select reverse(split(reverse(file_path), '\\')[0]) from TABLE_NAME
 


,1) from TABLE_NAME
Четыре обратные косые черты используются для представления одной обратной косой черты, поскольку это специальный символ.

Использование разделения и размера:


Использование разделения и обратного: