2017-04-18 61 views
2

当我在蜂巢存储拼花格式文件创建一个分区的外部表。我在该表中有时间戳列,当我加载时间戳列中给出空值的数据时。时间戳数据类型在蜂巢不支持,不读拼花文件

创建表查询

CREATE EXTERNAL TABLE abc( timestamp1 timestamp, tagname string, value string, quality bigint, own string) PARTITIONED BY ( etldate string) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' LOCATION 'adl://refdatalakeprod.azuredatalakestore.net/iconic' TBLPROPERTIES ( 'PARQUET.COMPRESS'='SNAPPY');

任何建议,请?

在此先感谢。

+0

您指定'timestamp1 String',这看起来像一个错字给我吗?另请注意,Hive中有多个时间戳类型,可能值得在此发布Parquet文件的架构。你应该能够通过使用镶木工具来查找它。 – xhochy

+0

我也尝试使用timestamp1字段的时间戳数据类型。在拼花支持 – sushma

+0

时间戳的数据类型,你必须是做错了什么,而加载数据 –

回答

0

你的问题是wrong.It不是时间戳类型,它是type.I认为你需要检查你的数据的字符串。

+0

我试图给戳,最后我把它作为字符串00.0其:SS – sushma

+0

如果您尝试使用字符串类型,但它仍然是空值,那么我认为您的原始数据有问题。 –