8

HIVE にいくつかのデータがあり、LibreOffice で表示したいと考えています。

このデータをエクスポートして、後で Libreoffice にインポートするにはどうすればよいですか

4

3 に答える 3

21

https://issues.apache.org/jira/browse/HIVE-1603に基づく:

$ hive
hive> set hive.exec.compress.output=false;
hive> create table csv_dump ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' as
hive> select ...YOUR_SELECT_QUERY_HERE...;
$ hadoop dfs -cat /user/hive/warehouse/csv_dump/* > ~/csv_dump.csv
于 2012-12-18T19:52:02.017 に答える
1

私は同様の問題を抱えていましたが、これが私がそれに対処する方法でした。

ステップ 1 - 次のように、ハイブ テーブルから別のテーブルにデータをロードしました。

DROP TABLE IF EXISTS TestHiveTableCSV; CREATE TABLE TestHiveTableCSV ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' AS SELECT Column List FROM TestHiveTable;

手順 2 - 適切な拡張子を使用して、ハイブ ウェアハウスから新しい場所に BLOB をコピーしました

Start-AzureStorageBlobCopy -DestContext $destContext -SrcContainer "ソース コンテナー" -SrcBlob "hive/warehouse/TestHiveTableCSV/000000_0" -DestContainer "宛先コンテナー" ` -DestBlob "CSV/TestHiveTable.csv"

お役に立てれば!

よろしく、 Dattatrey Sindol (Datta) http://dattatreysindol.com

于 2014-05-29T14:41:12.180 に答える
0

Hive SerDeメカニズムにより、テーブルの保存方法を指定およびカスタマイズできます。GitHubのogrodnekユーザーのおかげで、 CSVSerDeの実装があります。

これは一種の廃止されたもの(ハイブ0.5)ですが、新しいハイブバージョンに簡単に採用できます。それを成功させるために私がしなければならなかったのは、ビルド構成をハイブのディストリビューションとバージョンに変更し(kunkunurのプルリクエストでmavenにpom.xmlを使用しました)、この行をCSVSerde.javaに追加して新しいAPIを満たすだけです。

import org.apache.hadoop.hive.serde2.SerDeStats;
....
....
@Override
public SerDeStats getSerDeStats() {
// no support for statistics
return null;
}

次に、実行するだけでhadoop dfs -get /table/or/partition/location /local/destination(または、パイプまたは単一ファイル出力で-catを使用して)、hadoopからデータをロードできます。データはすでにCSV形式になっています。

于 2012-09-25T05:11:37.883 に答える