欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hive时间戳TIMESTAMP使用的限制

程序员文章站 2022-05-02 17:04:57
...

在Hive中提供了字段类型TIMESTAMP,但其对应的时间格式为yyyy-MM-dd HH:MM:SS,即通过LOAD命令将文本加载到已创建的表中时,只有满足上述格式的内容才可以被正确解析,否则只能识别为NULL。


1.        创建表。

create table airline
 (
 Yyear double,
 Tt double,
 W double,
 R double,
 L double,
 K double,
 T timestamp

 )
 PARTITIONED BY(dt string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

1.        将文本上传到HDFS。

hadoop fs -put /root/airline.csv /opt/hadoop/zet_data/airline.csv
其中文本内容如下所示:
1948.000008,1.213999987,0.243000001,0.145400003,1.414999962,0.611999989,2017-11-13 12:00:00
1949.000008,1.353999972,0.25999999,0.218099996,1.383999944,0.559000015,2017-11-14 12:01:00
1950,1.569000006,0.277999997,0.315699995,1.388000011,0.573000014,2017-11-15 12:02:00
1951,1.947999954,0.296999991,0.393999994,1.549999952,0.56400001,2017-11-16 12:03:00
1952,2.265000105,0.310000002,0.35589999,1.802000046,0.574000001,2017-11-17 12:04:00
1953,2.730999947,0.321999997,0.359299988,1.925999999,0.711000025,2017-11-18 12:05:00
1954,3.025000095,0.335000008,0.402500004,1.963999987,0.776000023,1528169207
1955,3.562000036,0.349999994,0.396100014,2.115999937,0.827000022,20171120 12:07:00
1956,3.979000092,0.361000001,0.382200003,2.434999943,0.800000012,2017/11/21 12:08:00
上述内容中,每行的最后一个字段为时间,前六条记录的该字段满足yyyy-MM-ddHH:MM:SS格式,后三条的为其它格式。

3.        加载文本。

LOAD DATA INPATH '/opt/hadoop/zet_data/airline.csv' INTO TABLE ariline PARTITION (dt='201312');
4.       在HUE中查看表中的内容。
Hive时间戳TIMESTAMP使用的限制

可以看出,最后三列无法识别,显示为NULL。