文件名提取并插入到列值hive中

时间:2018-02-28 03:29:05

标签: shell hive

我有一个名为akolp9app1a_170905_0000.txt

的文件

我需要拆分值

hostname= akolp9app1a

date=170905 (convert into proper data format)

现在在hive中创建一个包含2列主机名和日期的表,并将此值插入表中。

任何建议

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用虚拟列,例如 INPUT__FILE__NAME 。它给出了输入文件的名称。

然后,您可以在 input__file__name 字段中使用 split(或)substring(或)regexp_extract 字符串函数,并创建主机名,日期值。

示例: - 下面的select查询给出日期字段值为170905,就像这样使用字符串函数构建查询来提取主机名

Vehicle[] x = new Vehicle[] { 
    //Vehicles go here
};

使用insert语句将它们存储到单独的表中。