类型转换猪hcatalog

时间:2014-02-20 00:41:46

标签: hive apache-pig hcatalog

我使用HCatalog版本0.4。我在hive'abc'中有一个表,其中有一个数据类型为'timestamp'的列。当我尝试使用org.apache.hcatalog.pig.HCatLoader()运行像这样的“raw_data = load'abc'的猪脚本时;”我收到错误提示“java.lang.TypeNotPresentException:Type timestamp not present”。

3 个答案:

答案 0 :(得分:4)

问题是hcatalog不支持时间戳类型。 它将在hive 0.13下得到支持,他们对已经解决的问题有疑问,你可以在https://issues.apache.org/jira/browse/HIVE-5814

中看到问题

答案 1 :(得分:1)

如果使用Hive-Hcatalog 0.13.0检查HCatLoader的路径,则必须使用org.apache.hive.hcatalog.pig.HCatLoader()代替org.apache.hcatalog.pig.HCatLoader()

答案 2 :(得分:0)

Hive 0.13具有Timestamp数据类型。但是使用HCatLoader时会有数据丢失。

但是Hive - > Pig将使用HCat Loader,从时间戳中丢失纳秒。

猪 - > Hive使用HCat Storer。使用毫秒来基于时间戳进行转换。

参考:

https://cwiki.apache.org/confluence/display/Hive/HCatalog+LoadStore#HCatalogLoadStore-TypesinHive0.13.0andLater.1