2014-02-20 2 views
6

HCatalog 버전 0.4를 사용합니다. 하이브 'abc'테이블에 'timestamp'데이터 형식의 열이 있습니다. 이 같은 돼지 스크립트를 실행하려고하면 "raw_data = org.apache.hcatalog.pig.HCatLoader();를 사용하여 'abc'로드;" "java.lang.TypeNotPresentException : 유형 타임 스탬프가 없습니다"라는 오류 메시지가 나타납니다.유형 변환 돼지 카탈로그

답변

4

문제는 hcatalog가 타임 스탬프 유형을 지원하지 않는다는 것입니다. 하이브 0.13에서 지원되며 이미 해결 된이 문제에 대해 문제가 있음을 알 수 있습니다. https://issues.apache.org/jira/browse/HIVE-5814

0

하이브 0.13에 타임 스탬프 데이터 형식이 있습니다. 그러나 HCatLoader를 사용할 때 데이터가 손실됩니다.

하지만 Hive -> Pig는 HCat Loader를 사용하지만 나노초는 타임 스탬프에서 손실됩니다.

돼지 -> 하이브, HCat Storer. 밀리 초를 사용하여 타임 스탬프에 따라 변환합니다.

참조 : 당신이 HCatLoader에 하이브 - Hcatalog 0.13.0 검사 경로를 사용하는 경우

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

1

을 사용해야합니다 org.apache.hive.hcatalog.pig.HCatLoader() 대신 org.apache.hcatalog.pig.HCatLoader()