[HADOOP] STRUCT를 사용한 간단한 Hive 쿼리의 구문 오류는 어디에 있습니까?
HADOOPSTRUCT를 사용한 간단한 Hive 쿼리의 구문 오류는 어디에 있습니까?
Hive에서 간단한 테이블을 가져 오자.
hive> CREATE EXTERNAL TABLE tweets (id BIGINT, id_str STRING, user STRUCT<id:BIGINT, screen_name:STRING>)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.JsonSerde'
LOCATION '/projets/tweets';
OK
Time taken: 2.253 seconds
hive> describe tweets.user;
OK
id bigint from deserializer
screen_name string from deserializer
Time taken: 1.151 seconds, Fetched: 2 row(s)
여기서 구문 오류가 어디 있는지 알 수 없습니다.
hive> select user.id from tweets limit 5;
OK
Failed with exception java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: Error evaluating user.id
Time taken: 0.699 seconds
하이브 버전 1.2.1을 사용하고 있습니다.
해결법
-
==============================
1.드디어 답을 찾았습니다. JSON을 serialize / deserialize하는 데 사용되는 JAR에 문제가있는 것 같습니다. 기본 아파치 (Apache)는 내가 가지고있는 데이터에 대해 좋은 작업을 수행 할 수 없습니다.
드디어 답을 찾았습니다. JSON을 serialize / deserialize하는 데 사용되는 JAR에 문제가있는 것 같습니다. 기본 아파치 (Apache)는 내가 가지고있는 데이터에 대해 좋은 작업을 수행 할 수 없습니다.
나는이 모든 전형적인 JAR (괄호 안의 'ROW FORMAT SERDE'클래스)을 시도했다.
모두 다 다른 종류의 오류를주었습니다. 나는 그 (것)들을 거기 목록으로 만든다 그래서 다음 녀석은 그 (것)들을 Google 수있다 :
마지막으로, 작동중인 JAR은 여기에서 찾을 수있는 json-serde-1.3-jar-with-dependencies.jar입니다. 이것은 'STRUCT'로 작업 중이며 일부 잘못된 JSON을 무시할 수도 있습니다. 나는이 수업을 만드는 데에도 사용해야한다.
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ("ignore.malformed.json" = "true") LOCATION ...
필요한 경우 여기 또는 여기에서 다시 컴파일 할 수 있습니다. 나는 첫 번째 저장소를 시도하고 필요한 libs를 추가 한 후 나를 위해 잘 컴파일하고있다. 저장소도 최근에 업데이트되었습니다.
from https://stackoverflow.com/questions/32785117/where-is-the-syntax-error-on-this-simple-hive-query-with-struct by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 이클립스 Hadoop 플러그인 문제 (localhost / 127.0.0.1 : 50070으로 전화 걸기) 어떤 시체라도 나에게이 솔루션을 줄 수 있습니까? (0) | 2019.06.12 |
---|---|
[HADOOP] Java API를 사용하여 Hive에서 테이블 속성 가져 오기 (0) | 2019.06.12 |
[HADOOP] mapreduce를 사용하여 HDFS에서 이미지 읽기 (0) | 2019.06.12 |
[HADOOP] Flume HDFS 싱크는 작은 파일을 계속 롤링합니다. (0) | 2019.06.12 |
[HADOOP] Hive - Thrift - 이전 클라이언트의 readMessageBegin에 누락 된 버전이 있습니까? (0) | 2019.06.12 |