ハイブのバージョンが少なくとも 0.11.0 の場合、次を実行できます。
INSERT OVERWRITE LOCAL DIRECTORY '/tmp/directoryWhereToStoreData'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY "\n"
SELECT * FROM yourTable;
ハイブ/ビーラインからテーブルをローカルファイルシステムのディレクトリに保存します。
または、beeline を使用して、SELECT クエリを yourSQLFile.sql に保存し、次を実行します。
beeline -u 'jdbc:hive2://[databaseaddress]' --outputformat=csv2 -f yourSQlFile.sql > theFileWhereToStoreTheData.csv
また、これにより、結果がローカル ファイル システムのファイルに保存されます。
ハイブから、データを HDFS のどこかに保存するには:
CREATE EXTERNAL TABLE output
LIKE yourTable
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
LOCATION 'hfds://WhereDoYou/Like';
INSERT OVERWRITE TABLE output SELECT * from yourTable;
次に、次を使用してデータをローカル ファイルに収集できます。
hdfs dfs -getmerge /WhereDoYou/Like
これは、ビーラインのみを使用してデータを取得する別のオプションです。
env HADOOP_CLIENT_OPTS="-Ddisable.quoting.for.sv=false" beeline -u "jdbc:hive2://your.hive.server.address:10000/" --incremental=true --outputformat=csv2 -e "select * from youdatabase.yourtable"
取りかかっている:
Connected to: Apache Hive (version 1.1.0-cdh5.10.1)
Driver: Hive JDBC (version 1.1.0-cdh5.10.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 1.1.0-cdh5.10.1 by Apache Hive