Type conversion pig hcatalog

一曲冷凌霜 提交于 2019-12-22 05:25:26

问题


I use HCatalog version 0.4. I have a table in hive 'abc' which has a column with datatype 'timestamp'. When i try to run a pig script like this "raw_data = load 'abc' using org.apache.hcatalog.pig.HCatLoader();" i get an error saying "java.lang.TypeNotPresentException: Type timestamp not present".


回答1:


The problem is that hcatalog doesn’t support timestamp type. It will be supported under hive 0.13, they have an issue about this problem that was already solved, you can see the issue in https://issues.apache.org/jira/browse/HIVE-5814




回答2:


If you use Hive-Hcatalog 0.13.0 check path to HCatLoader, you must use org.apache.hive.hcatalog.pig.HCatLoader() instead org.apache.hcatalog.pig.HCatLoader()




回答3:


Hive 0.13 has Timestamp data type. But there will be data loss when using HCatLoader.

But Hive - > Pig will using HCat Loader, the nanoseconds will be lost from timestamp.

Pig - > Hive using HCat Storer. Translates based on Timestamp using milli seconds.

Reference:

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



来源:https://stackoverflow.com/questions/21895789/type-conversion-pig-hcatalog

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!