[HADOOP] 하이브 오류 : 구문 분석 누락 된 EOF
HADOOP하이브 오류 : 구문 분석 누락 된 EOF
내가 뭘 잘못하고 있는지 잘 모르겠다.
hive> CREATE TABLE default.testtbl(int1 INT,string1 STRING)
stored as orc
tblproperties ("orc.compress"="NONE")
LOCATION "/user/hive/test_table";
FAILED: ParseException line 1:107 missing EOF at 'LOCATION' near ')'
다음 쿼리는 완벽하게 작동합니다.
hive> CREATE TABLE default.testtbl(int1 INT,string1 STRING)
stored as orc
tblproperties ("orc.compress"="NONE");
OK
Time taken: 0.106 seconds
나는 여기서 뭔가를 놓친다. 모든 포인터가 도움이 될 것입니다. 감사!
해결법
-
==============================
1.아래의 "tblproperties"앞에 "LOCATION"을 넣어보십시오. 나를 위해 일했습니다.
아래의 "tblproperties"앞에 "LOCATION"을 넣어보십시오. 나를 위해 일했습니다.
CREATE TABLE default.testtbl(int1 INT,string1 STRING) stored as orc LOCATION "/user/hive/test_table" tblproperties ("orc.compress"="NONE");
책 "Programming Hive"의 샘플 SQL도 순서가 틀린 것 같습니다. create table 명령의 공식 정의를 참조하십시오.
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-CreateTable
-
==============================
2.@Haiying Wang은 LOCATION이 tblproperties 앞에 놓이게 될 것이라고 지적했다.
@Haiying Wang은 LOCATION이 tblproperties 앞에 놓이게 될 것이라고 지적했다.
그러나 위치가 위에서 지정한대로 지정되면 오류가 발생한다고 생각합니다.
올바른 순서를 유지하는 것이 좋습니다.
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name -- (Note: TEMPORARY available in Hive 0.14.0 and later) [(col_name data_type [COMMENT col_comment], ... [constraint_specification])] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] [SKEWED BY (col_name, col_name, ...) -- (Note: Available in Hive 0.10.0 and later)] ON ((col_value, col_value, ...), (col_value, col_value, ...), ...) [STORED AS DIRECTORIES] [ [ROW FORMAT row_format] [STORED AS file_format] | STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)] -- (Note: Available in Hive 0.6.0 and later) ] [LOCATION hdfs_path] [TBLPROPERTIES (property_name=property_value, ...)] -- (Note: Available in Hive 0.6.0 and later) [AS select_statement]; -- (Note: Available in Hive 0.5.0 and later; not supported for external tables)
참조 : 하이브 만들기 테이블
-
==============================
3.이 게시물 확인 :
이 게시물 확인 :
하이브에 ORC로 저장된 테이블에 .txt 파일의 데이터로드
그리고 지정된 디렉토리 / user / hive / test_table에있는 소스 파일을 확인하십시오. 파일이 .txt 또는 다른 ORC 형식이 아닌 경우 위의 게시물에있는 단계를 수행하여 오류가 나올 수 있습니다.
-
==============================
4.ParseException line lineNumber가 '.'에 EOF가 없습니다. 'schemaName'근처 :
ParseException line lineNumber가 '.'에 EOF가 없습니다. 'schemaName'근처 :
하이브 테이블을 자르기 위해 리눅스 스크립트에서 다음 명령을 실행하는 동안 위의 오류가 발생했습니다.
dse -u 사용자 이름 -p 암호 하이브 -e "truncate table keyspace.tablename;"
고치다: 다음과 같이 스크립트 행 내에서 명령을 분리해야합니다.
dse -u 사용자 이름 -p 암호 하이브 -e "keyspace 사용, truncate table keyspace.tablename;"
해피 코딩!
-
==============================
5.하이브에 테이블을 만들 때 같은 오류가 발생했습니다.
하이브에 테이블을 만들 때 같은 오류가 발생했습니다.
나는 drop 명령을 사용하여 테이블을 삭제 한 다음 다시 작성한 테이블 생성 명령을 실행합니다.
나를 위해 일했다.
-
==============================
6."hive -f file.hql"명령으로 파일에서 HiveQL을 실행할 때이 오류가 나타나는 경우 그리고 이것은 이전 쿼리에 대해 잊어 버린 세미콜론 (;) 때문에 쿼리의 첫 번째 줄을 가장 정확하게 가리키고 있음을 나타냅니다. 구문 분석기는 세미콜론 (;)을 각 쿼리의 종결 자로 찾습니다. 예 :
"hive -f file.hql"명령으로 파일에서 HiveQL을 실행할 때이 오류가 나타나는 경우 그리고 이것은 이전 쿼리에 대해 잊어 버린 세미콜론 (;) 때문에 쿼리의 첫 번째 줄을 가장 정확하게 가리키고 있음을 나타냅니다. 구문 분석기는 세미콜론 (;)을 각 쿼리의 종결 자로 찾습니다. 예 :
DROP TABLE IF가 존재하면 default.emp 테이블 default.emp 만들기 ( 필드 1 유형, 필드 2 유형) 행 형식으로 제한된 필드가 '|'에 의해 종료되었습니다. STEXED TEXTFILE LOCATION 's3 : // gts-promocube / source-data / Lowes / POS /';
위의 내용을 파일에 저장하고 하이브 -f를 사용하여 실행하면 다음과 같은 오류가 발생합니다. FAILED : ParseException 라인 2 : 0 emp 근처의 'CREATE'에 EOF가 없습니다.
해결책 : 위의 DROP TABLE 명령에 세미콜론 (;)을 입력하십시오.
from https://stackoverflow.com/questions/22463444/hive-error-parseexception-missing-eof by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hadoop에서 많은 수의 작은 파일을 어떻게 처리 할 수 있습니까? (0) | 2019.07.25 |
---|---|
[HADOOP] HBase에서 여러 행을 효율적으로 삭제하는 방법 (0) | 2019.07.25 |
[HADOOP] 데이터를 복사하지 않고 Hive 테이블로 데이터를 가져올 수 있습니까? (0) | 2019.07.25 |
[HADOOP] Windows의 Nutch : 경로의 사용 권한을 설정하지 못했습니다. (0) | 2019.07.25 |
[HADOOP] Docker가있는 다중 노드 Hadoop 클러스터 (0) | 2019.07.25 |