我使用HCatalog版本0.4。我在hive'abc'中有一个表,其中有一个数据类型为'timestamp'的列。当我尝试使用org.apache.hcatalog.pig.HCatLoader()运行像这样的“raw_data = load'abc'的猪脚本时;”我收到错误提示“java.lang.TypeNotPresentException:Type timestamp not present”。
答案 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。使用毫秒来基于时间戳进行转换。
参考: