我正在运行以下命令来创建表,并从指定文件路径中的所有文件插入数据。现在我想添加一个带有文件名的列,但是我找不到任何方法在不遍历文件的情况下这样做。你有什么建议吗?
CREATE TABLE ABC
(NAME string
,DATE string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
hive -e "LOAD DATA LOCAL INPATH '${DATA_FILE_PATH}' INTO TABLE ABC;"
1条答案
按热度按时间fv2wmkja1#
配置单元确实有虚拟列,其中包括
INPUT__FILE__NAME
. 这个链接展示了如何在语句中使用它。用文件名作为列填充另一个表。假设您的数据位置是hdfs://hdfs.location:端口/数据/文件夹/文件名1
您可以更改分割以更改实际要存储多少完整路径。