Skip to content

Instantly share code, notes, and snippets.

@templateaholic10
Last active August 30, 2018 17:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save templateaholic10/6225f26e7823b20656e7ef8b9cd6a11a to your computer and use it in GitHub Desktop.
Save templateaholic10/6225f26e7823b20656e7ef8b9cd6a11a to your computer and use it in GitHub Desktop.
Hiveメモ

インポート

テーブルのROW FORMAT, STORED, INPUTFORMATを正しく定義して

LOAD DATA LOCAL INPATH local_dir_name
OVERWRITE INTO TABLE tbl_name
PARTITION (...);

とする.

エクスポート

JSON

テーブルを

ROW FORMAT SERDE 
'org.apache.hive.hcatalog.data.JsonSerDe' 
STORED AS TEXTFILE

-- or

STORED AS JSONFILE

-- or

OUTPUTFORMAT ...

で定義して

INSERT OVERWRITE LOCAL DIRECTORY local_dir_name
SELECT ...;

-- or

INSERT OVERWRITE DIRECTORY hdfs_dir_name
SELECT ...;

とする.

Beeline

Hive CLIではなくBeelineの利用が推奨されている. BeelineでINSERT OVERWRITE LOCAL DIRECTORYはできないのでhdfsにダンプしてdfs -getで取得する. 参考:hadoop - Hive INSERT OVERWRITE LOCAL DIRECTORY not working - Stack Overflow

hive.server2.close.session.on.disconnect=trueのときクエリ実行中にCtrl+Cするとクエリの中止と同時にBeelineを終了する.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment