我有这样的数据输入:
csv文件的结构是:
x,y
0.0,0.0
18.6,-11.1
36.1,-21.9
53.7,-32.6
70.1,-42.8
86.5,-52.6
我想将此文件夹中的所有文件加载到Hive表中,如:
id, x, y, file_name, folder_name
1, 0.0, 0.0, 1.csv, driver_1
...
我该怎么办? 有人可以帮帮我吗?
答案 0 :(得分:2)
Hive有一个名为INPUT__FILE__NAME
的{{3}},其中包含包含该记录的输入文件的完整路径。然后使用REGEXP_EXTRACT
我们可以提取父目录和文件名:
SELECT
x
, y
, REGEXP_EXTRACT(INPUT__FILE__NAME, '.*/(.*)/(.*)', 2) AS file_name
, REGEXP_EXTRACT(INPUT__FILE__NAME, '.*/(.*)/(.*)', 1) AS folder_name
FROM
table
;