gpt4 book ai didi

sql - 配置单元列加载为空

转载 作者:行者123 更新时间:2023-12-02 21:08:27 24 4
gpt4 key购买 nike

我正在尝试加载具有17列的表,并且其中一列(日期时间)被加载为null。我不确定是否使用了正确的数据类型。这是我的加载脚本:

CREATE EXTERNAL TABLE IF NOT EXISTS
Weather(year INT, month INT, day int, TimeCST timestamp, temperature float,
dew float, humidity int, sea float, visibility int, wind STRING, wspeed float,
gust float, rain float, events string, conditions string, degrees int, dateutc datetime)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/home/ubuntu/final';

麻烦的列是dateutc列。我尝试加载为日期时间和时间戳,并且都显示为null。这是来自基础csv的值。 1/1/2000 7:53。

任何想法为什么会发生这种情况?

谢谢

最佳答案

文本文件中的时间戳必须使用yyyy-mm-dd hh:mm:ss [.f ...]格式。如果它们是另一种格式,则将它们声明为适当的类型(INT,FLOAT,STRING等),然后使用UDF将其转换为时间戳。

在表级别,可以通过将格式提供给SerDe属性“timestamp.formats”(从带有HIVE-9298的1.2.0版开始)来支持其他时间戳格式。例如,yyyy-MM-dd'T'HH:mm:ss.SSS,yyyy-MM-dd'T'HH:mm:ss。

请参阅此作为引用:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types

关于sql - 配置单元列加载为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41133209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com