如何从Hive中的文件中提取特定字符串

时间:2018-03-22 19:52:48

标签: hadoop hive

我有一个名为filepath的列,内容如下:

/data/sudi/tmp/3680170/nn/asset_category/output
/user/vandu/jobhistory/753/109539/skill-metadata.har/_masterindex
/data/new/copy/253002002635638.wav
/data/old/tub/tki/businesseffectivedate=2017-12-05
/data/abc/def/2017-12-07/253002002635637.xml
/data/cde/bbf/test.db/execution_gdspm0102017-12-05.txt

我想在句点(.)之后提取所有文件扩展名,并提供具有不同文件格式的文件计数。

1 个答案:

答案 0 :(得分:0)

有一个regexp_extract函数in Hive。模式类似^.*\/?.*\.([^\/\.]*)$Click here来测试正则表达式。

SELECT count(*), regexp_extract(path_column, '^.*\/?.*\.([^\/\.]*)$', 1) as ext
FROM my_table 
GROUP BY ext