Java コードでハイブ クエリを実行します。例:
"SELECT * FROM table WHERE id > 100"
結果を hdfs ファイルにエクスポートする方法。
次のクエリは、結果を HDFS に直接挿入します。
INSERT OVERWRITE DIRECTORY '/path/to/output/dir' SELECT * FROM table WHERE id > 100;
tnguyen80 さんの回答に同意します。クエリに特定の文字列値がある場合は、クエリ全体を二重引用符で囲むよりも適切であることに注意してください。
例えば:
$hive -e "select * from table where city = 'London' and id >=100" > /home/user/outputdirectory/city details.csv
出力ディレクトリと出力ファイル形式などを設定するには、次のことを試してください。
INSERT OVERWRITE [LOCAL] DIRECTORY directory1
[ROW FORMAT row_format] [STORED AS file_format]
SELECT ... FROM ...
例:
INSERT OVERWRITE DIRECTORY '/path/to/output/dir'
ROW FORMAT DELIMITED
STORED AS PARQUET
SELECT * FROM table WHERE id > 100;