2017-05-08 5 views
0

Wenn ich die Ausgabe von beeline in eine Datei umleiten, kann ich sehen, dass die generierte Datei hat^M (CR, Carriage Return, 0x0D hex) Zeichen innerhalb der rund Spalte 144 platziert wird, vermutlich als eine Möglichkeit, um Text zu umbrechen Ausgabe.Gibt es eine Möglichkeit, zu verhindern, dass beeline CR-Zeichen generiert?

Gibt es eine Möglichkeit, dies in beeline auszuschalten? Oder vielleicht beeline einer anderen Spaltenbreite mitteilen.

ich habe: Beeline version 1.2.1000.2.5.0.0-1245 by Apache Hive

+0

Dies ist eine schlechte Praxis. Verwenden Sie stattdessen "INSERT OVERWRITE [LOCAL] DIRECTORY". https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Writingdatathefilesystemfromqueries –

+0

Ich mache keinen Schreibvorgang auf Bienenstock. Ich führe gerade eine SELECT-Anweisung aus. Die Beeline-Ausgabe von SELECT hat CR eingebettet. – paolov

+0

'INSERT OVERWRITE LOCAL DIRECTORY' wird verwendet, um Abfrageergebnisse an das lokale Dateisystem zu senden –

Antwort

0

Sie können versuchen,

Satz hive.exec.compress.output = false;

INSERT OVERWRITE-VERZEICHNIS 'hdfs_dir' 'query_here';

Wenn Sie LOCAL verwenden, müssen Sie sicherstellen, dass Sie das Skript/Abfrage auf dem Knoten (Maschine) ausgeführt werden, wo Hiveserver2 läuft. Wenn Sie von einem anderen Computer aus starten, wird kein Fehler auftreten, aber es wird trotzdem eine Datei in dem Knoten erstellt, auf dem HS2 ausgeführt wird.

Verwandte Themen