Hive-Query-o/p, um HDFS als CSV-Datei
Möchte ich schreiben hive-query-Ausgabe in HDFS-Datei im CSV-Format( durch Komma getrennt).
Für LOKALE VERZEICHNIS:
INSERT OVERWRITE LOCAL DIRECTORY '/home/test/result/'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' SELECT * from table;
Oben Funktioniert einwandfrei und schreibt die Ausgabe der Abfrage als CSV-Format im lokalen Verzeichnis.
Für HDFS:
INSERT OVERWRITE DIRECTORY '/home/test/result/' SELECT * from table;
Ausgabe geschrieben, um die HDFS ist, serialisiert text mit Spalten, getrennt durch ^A und Zeilen getrennt durch Zeilenumbrüche.
HINWEIS :
ROW FORMAT DELIMITED FIELDS ---- Not supported for above query
Gibt es eine Möglichkeit, zu schreiben hive-query-Ausgabe in HDFS-Verzeichnis als CSV-Datei(durch Komma getrennt)
- Besuchen: stackoverflow.com/questions/18129581/...
- ich möchte schreiben in HDFS-Datei.. Nicht im lokalen Verzeichnis..Schon überprüft obige Frage
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es nur einen Weg..
1. erstellen Sie eine Tabelle wie erwartet Ihr Ergebnis
Beispiel:create external table-Ergebnis(spalte1 Typ,col2 type,......)row format delimited fields terminated by ',' gespeichert als Textdatei Speicherort '/tmp/result';
2. importieren von Daten in dieser Tabelle
z.B.:einfügen, überschreiben Tabelle Ergebnis select * from tablename;
3.ablegen der externen Tabelle
z.B.:drop table Ergebnis;
Auf fallende externe Tabelle nur ein schema wird gelöscht, die Daten bleiben in der text-Datei im angegebenen Verzeichnis, das sich in comma separated format.
Versuchen Sie dies:
INSERT OVERWRITE DIRECTORY '/home/test/Ergebnis/' SELECT concat(col1','col2',', ...colN) from table;
Zum schreiben von Daten in hdfs in ein benutzerdefiniertes format verwenden
printf
.