Ich hatte ein ähnliches Problem und so konnte ich es angehen.
Schritt 1 - Laden Sie die Daten aus der Hive-Tabelle wie folgt in eine andere Tabelle
DROP TABLE WENN EXISTS TestHiveTableCSV; CREATE TABLE TestHiveTableCSV ROW-FORMAT DELIMITED FELDER BEENDET DURCH ',' LINES TERMINIERT VON '\ n' AS SELECT-Spaltenliste FROM TestHiveTable;
Schritt 2 - Kopierte den Blob aus dem Stock-Warehouse an den neuen Speicherort mit der entsprechenden Erweiterung
Start-AzureStorageBlobCopy
-DestContext $destContext
-SrcContainer "Quellcontainer"-SrcBlob "hive/warehouse/TestHiveTableCSV/000000_0"
-DestContainer "Zielcontainer" ' -DestBlob "CSV / TestHiveTable.csv"
Hoffe, das hilft!
Mit freundlichen Grüßen, Dattatrey Sindol (Datta) Ссылка
Sie können festlegen und anpassen, wie Ihre Tabellen nach dem Hive SerDe-Mechanismus gespeichert werden. Dank ogrodnek Benutzer auf GitHub gibt es CSV SerDe Implementierung.
Es ist eine Art obsolet (Bienenstock 0,5), aber kann leicht zur neuen Bienenstockversion adoptiert werden. Alles, was ich für den Erfolg damit tun musste, war nur die Build-Konfiguration in meine Hive-Distribution und Version zu ändern (ich habe pom.xml für maven in der Pull-Anforderung kunkunur verwendet) und diese Zeilen in eingefügt CSVSerde.java , um die neue API zu erfüllen:
%Vor% Dann können Sie einfach hadoop dfs -get /table/or/partition/location /local/destination
ausführen (oder sogar eine -cat mit Pipes oder einzelne Dateiausgabe verwenden), um Daten von hadoop zu laden - es wird bereits im CSV-Format sein.
Tags und Links csv hive libreoffice