2017-05-08 4 views
0

ビーラインの出力をファイルにリダイレクトすると、生成されたファイルの中に^ M(CR、キャリッジリターン、0x0Dの16進数)文字があります。この文字は、おそらくテキストを囲む方法として144列目に配置されています出力。ビーラインがCR文字を生成するのを止める方法はありますか?

ビーラインでこれをオフにする方法はありますか?あるいは、異なる列幅のビーラインを通知することもできます。

私が持っている:Beeline version 1.2.1000.2.5.0.0-1245 by Apache Hive

+0

これは悪い習慣です。代わりに 'INSERT OVERWRITE [LOCAL] DIRECTORY'を使用してください。 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Writingdataintfilesystemfromqueries –

+0

私はハイブへの書き込みを行っていません。私はSELECT文を実行しています。 SELECTからのビーライン出力にはCRが埋め込まれています。 – paolov

+0

'INSERT OVERWRITE LOCAL DIRECTORY'はクエリ結果をローカルファイルシステムにダンプするために使用されます –

答えて

0

あなたが= falseをhive.exec.compress.output

セットを試すことができます。

INSERT OVERWRITE DIRECTORY 'hdfs_dir' 'query_here';

、あなたがHiveserver2を実行しているノード(マシン)上でスクリプト/クエリを実行していることを確認する必要がありLOCALを使用しています。別のマシンから実行する場合は、失敗することはありませんが、HS2が実行されているノードにはまだファイルが作成されます。

関連する問題