6

我使用 HCatalog 0.4 版。我在配置单元“abc”中有一个表,其中有一列数据类型为“timestamp”。当我尝试运行这样的猪脚本时,“raw_data = load 'abc' using org.apache.hcatalog.pig.HCatLoader();” 我收到一条错误消息“java.lang.TypeNotPresentException:类型时间戳不存在”。

4

3 回答 3

4

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

于 2014-03-05T09:31:16.383 回答
1

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

于 2015-01-29T13:32:10.340 回答
0

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

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

Pig -> Hive 使用 HCat 存储。使用毫秒基于时间戳进行转换。

参考:

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

于 2015-01-17T05:08:25.283 回答