gz에서 특정 데이터를 가져와야합니다. SQL 작성 방법은 무엇입니까? 난 그냥? 테이블 데이터베이스로Qubole 하이브 쿼리를 사용하여 Amazon S3의 gz 파일에서 데이터를 쿼리하는 방법
Select * from gz_File_Name where key = 'keyname' limit 10.
를 SQL 수 있지만 항상 오류가 다시 켜십시오.
gz에서 특정 데이터를 가져와야합니다. SQL 작성 방법은 무엇입니까? 난 그냥? 테이블 데이터베이스로Qubole 하이브 쿼리를 사용하여 Amazon S3의 gz 파일에서 데이터를 쿼리하는 방법
Select * from gz_File_Name where key = 'keyname' limit 10.
를 SQL 수 있지만 항상 오류가 다시 켜십시오.
하이브를 사용하여 쿼리 할 수 있으려면이 파일 위치 (폴더) 위에 하이브 외부 테이블을 만들어야합니다. Hive는 gzip 형식을 인식합니다. 이처럼 :
create external table hive_schema.your_table (
col_one string,
col_two string
)
stored as textfile --specify your file type, or use serde
LOCATION
's3://your_s3_path_to_the_folder_where_the_file_is_located'
;
여기 하이브 테이블에 설명서를 참조하십시오 후드 폴더를 저장하지 않습니다 아래 S3 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-CreateTableCreate/Drop/TruncateTable
가 정확하기를, S3에/s을 (를) 포함하는 파일 이름 등 같은 하이브와 같은 다른 도구로 표현 폴더 구조. 여기를 참조하십시오 : https://stackoverflow.com/a/42877381/2700344
새 테이블이 S3에서 빌드되어야합니까? 어디에서? – daxue
아마존 -s3 질문에 태그를 추가 했으므로 S3와 협력하고 있다고 생각합니다. HDFS를 대신 사용할 수 있습니다. 하이브 테이블은 S3 또는 HDFS의 위치로 생성 될 수 있습니다. 테이블 위치에 파일을 넣어야합니다. Hive는 테이블 위치 안의 모든 파일을 검사합니다. 이 목적으로 s3 또는 HDFS 만 사용할 수 있습니다. – leftjoin
고마워 ... HDFS가 S3 또는 mysql과 같은 저장소 기반인지 궁금합니다. – daxue