0

ハイブにテーブルを作成し、テーブルにデータを入力しました(json serdeを使用したjsonデータ)。コンソールでクエリの結果を取得できます。お気に入り:

select user from mytable....

次のコマンドを使用して、クエリの結果をコンマ区切りファイルとして保存しました。

set hive.io.output.fileformat = CSVTextFile;
INSERT OVERWRITE LOCAL DIRECTORY '/host/Hadoop/' select user,task from my table

その場所にファイル000000_0が作成されています/host/Hadoopが、ファイルをクリックして開くとエラーが表示されます

could not display file /host/Hadoop/000000_0 unknown type.

このファイルを開くことはできませんか? このファイルを開く他の方法はありますか? (Ubuntu 12.04 OS を使用しています)

4

2 に答える 2

1

OpenCSV を使用してファイルを解析するカスタムCSV SerDeを使用することもできます。また、問題は、HIVE では出力区切り文字を指定できないことです - https://issues.apache.org/jira/browse/ HIVE-634

解決策としては、出力用の外部テーブルを作成し(デリミタ指定あり)、ディレクトリの代わりに上書きテーブルを挿入します。

于 2013-07-04T18:35:19.397 に答える
0

おそらく Ubuntu は、ファイルを開く方法を決定するためにファイル拡張子に依存しています。ファイルにファイルがないため、Ubuntu は使用するプログラムを認識していません。これを修正するには、プログラムを明示的に指定するか (たとえば、実行less /host/Hadoop/000000_0して で開くless)、ファイルの名前を Ubuntu が認識する拡張子 (たとえば/host/Hadoop/000000_0.txt) に変更します。

于 2013-06-28T20:40:09.580 に答える