我使用hcatalog版本0.4。我在配置单元“”中有一个表,它有一个数据类型为“timestamp”的列。当我尝试运行这样的pig脚本时,“raw_data=load''using org.apache.hcatalog.pig.hcatloader();”我得到一个错误,说“java.lang.typenotpresentexception:type timestamp not present”。
b1uwtaje1#
配置单元0.13具有时间戳数据类型。但是在使用hcatloader时会丢失数据。但是hive->pig将使用hcat加载程序,时间戳将丢失纳秒。Pig->Hive使用hcat储存。使用毫秒根据时间戳进行转换。参考文献:https://cwiki.apache.org/confluence/display/hive/hcatalog+loadstore#hcatalogloadstore-输入Hive0.13.0及更高版本。1
lyfkaqu12#
如果使用hive hcatalog 0.13.0检查hcatloader的路径,则必须使用 org.apache.hive.hcatalog.pig.HCatLoader() 相反 org.apache.hcatalog.pig.HCatLoader()
org.apache.hive.hcatalog.pig.HCatLoader()
org.apache.hcatalog.pig.HCatLoader()
trnvg8h33#
问题是hcatalog不支持时间戳类型。它将在hive0.13下得到支持,他们有一个关于这个问题的问题已经解决了,您可以在中看到这个问题https://issues.apache.org/jira/browse/hive-5814
3条答案
按热度按时间b1uwtaje1#
配置单元0.13具有时间戳数据类型。但是在使用hcatloader时会丢失数据。
但是hive->pig将使用hcat加载程序,时间戳将丢失纳秒。
Pig->Hive使用hcat储存。使用毫秒根据时间戳进行转换。
参考文献:
https://cwiki.apache.org/confluence/display/hive/hcatalog+loadstore#hcatalogloadstore-输入Hive0.13.0及更高版本。1
lyfkaqu12#
如果使用hive hcatalog 0.13.0检查hcatloader的路径,则必须使用
org.apache.hive.hcatalog.pig.HCatLoader()
相反org.apache.hcatalog.pig.HCatLoader()
trnvg8h33#
问题是hcatalog不支持时间戳类型。它将在hive0.13下得到支持,他们有一个关于这个问题的问题已经解决了,您可以在中看到这个问题https://issues.apache.org/jira/browse/hive-5814