0

Hiveの結果をAmazons3にあるファイルにエクスポートしようとしています。

ただし、結果ファイルには、正方形などの認識されない文字が含まれています。

結果ファイル形式のタイプは、csvではなくbinary/octet-streamです。

csvファイルを作成できないホエーが表示されません。

使用されるハイブのバージョンはhive-0.8.1です。

以下の手順を実行します。

ちなみに、ハイブはAmazonEMRによって起動されたインスタンスから使用されます。

 create table test_csv(employee_id bigint, employee_name string, employee_designation string) row format delimited fields terminated by ',' lines terminated by '\n' stored as textfile;

  insert overwrite table test_csv select employee_id , employee_name , employee_designation from employee_details;

  INSERT OVERWRITE DIRECTORY 's3n://<path_to_s3_bucket>' SELECT * from test_csv;

何が原因なのか教えていただけますか?

4

3 に答える 3

1

コマンドラインを介してHiveからデータをエクスポートできます。

hive -e 'select * from foo;' > foo.tsv

おそらくsedなどをパイプでつなぎ、タブをコンマに変換することができます。すべてにTSVを使用しました。

于 2013-02-27T20:54:12.930 に答える
0

データがどのように保存されているかを確認するために、HDFSのHiveウェアハウスディレクトリを出力に対して開いてみましたか?

この行は実行する必要はないと思います

INSERT OVERWRITE DIRECTORY 's3n://<path_to_s3_bucket>' SELECT * from test_csv;

むしろ、 「dfs-get」を直接実行できます

于 2013-02-27T11:21:24.070 に答える
0

私が知っているのは、INSERT OVERWRITE DIRECTORY区切り文字として常にctrl-A('\ 001')を使用することです。テーブルデータを含むファイルを直接コピーするのが最善の解決策です。GL。

于 2013-02-27T13:41:15.850 に答える