从文件名中提取时间戳,并使用Pig

时间:2017-09-20 14:19:55

标签: hadoop hive apache-pig cloudera hortonworks-data-platform

我有一个名为YYYYMMDD_claims_portal.csv的文件,我只需要YYYYMMDD部分并将此值存储在新列中(例如,日期)。

之前我们有3列:Claim,User,ID。现在我需要根据文件添加一个值为YYYYMMDD的列日期。

1 个答案:

答案 0 :(得分:0)

<强> input__file__name

演示

的bash

[]$ mkdir mytable
[]$ cat>mytable/20170918_claims_portal.csv
1
2
[]$ cat>mytable/20170919_claims_portal.csv
3
[]$ cat>mytable/20170920_claims_portal.csv
4
5
6

蜂房

create external table mytable (i int) stored as textfile
;
select  i
       ,regexp_extract(input__file__name,'(\\d{8})_claims_portal.csv',1) as dt 

from    mytable
;
+----+-----------+
| i  |    dt     |
+----+-----------+
| 4  | 20170920  |
| 5  | 20170920  |
| 6  | 20170920  |
| 3  | 20170919  |
| 1  | 20170918  |
| 2  | 20170918  |
+----+-----------+