2017-05-08 1 views
0

Lorsque je redirige la sortie de beeline vers un fichier, je peux voir que le fichier généré possède un caractère^M (CR, retour chariot, 0x0D hex) à l'intérieur qui est placé autour de la colonne 144, probablement pour enrouler le texte sortie.Y a-t-il un moyen d'empêcher beeline de générer un caractère CR?

Y a-t-il un moyen de désactiver cela dans beeline? Ou peut-être informer beeline d'une largeur de colonne différente.

J'ai: Beeline version 1.2.1000.2.5.0.0-1245 by Apache Hive

+0

Ceci est une mauvaise pratique. Utilisez 'INSERT OVERWRITE [LOCAL] DIRECTORY' à la place. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Writingdataintotheffilesystemfromqueries –

+0

Je n'effectue pas d'écriture dans la ruche. Je cours juste une instruction SELECT. La sortie beeline du SELECT a incorporé CR. – paolov

+0

'INSERT OVERWRITE LOCAL DIRECTORY' est utilisé pour vider les résultats de la requête dans le système de fichiers local. –

Répondre

0

Vous pouvez

set hive.exec.compress.output = false;

INSÉRER RÉPERTOIRE D'ÉCRITURE 'hdfs_dir' 'query_here';

Lorsque vous utilisez LOCAL vous devez vous assurer que vous exécutez le script/requête sur le noeud (ordinateur) sur lequel Hiveserver2 est en cours d'exécution. Si vous exécutez à partir d'une autre machine, elle n'échouera pas, mais crée quand même un fichier dans le nœud sur lequel HS2 est en cours d'exécution.