Ho alcuni dati in HIVE, e mi piacerebbe vederli in LibreOffice.Esporta HIVE a un CSV
Come faccio a esportare questi dati e poi importarlo su Libreoffice
Ho alcuni dati in HIVE, e mi piacerebbe vederli in LibreOffice.Esporta HIVE a un CSV
Come faccio a esportare questi dati e poi importarlo su Libreoffice
È possibile specificare e personalizzare il modo per memorizzare le tabelle di meccanismo Hive SerDe. Grazie a utente ogrodnek su GitHub, esiste l'implementazione CSV SerDe.
È una specie di obsoleto (hive 0.5) ma può essere facilmente adottato nella nuova versione di hive. Tutto quello che dovevo fare per il successo con esso - solo cambiando costruire config per la mia distribuzione alveare e la versione (ho usato pom.xml per Maven in kunkunur 's richiesta di pull) e l'aggiunta di queste righe in CSVSerde.java per soddisfare nuova API:
import org.apache.hadoop.hive.serde2.SerDeStats;
....
....
@Override
public SerDeStats getSerDeStats() {
// no support for statistics
return null;
}
Poi si può semplicemente eseguire hadoop dfs -get /table/or/partition/location /local/destination
(o anche utilizzare un -cat con tubi o di output singolo file) per caricare i dati di Hadoop - sarà già in formato CSV.
Sulla base https://issues.apache.org/jira/browse/HIVE-1603:
$ hive
hive> set hive.exec.compress.output=false;
hive> create table csv_dump ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' as
hive> select ...YOUR_SELECT_QUERY_HERE...;
$ hadoop dfs -cat /user/hive/warehouse/csv_dump/* > ~/csv_dump.csv
L'ultimo comando è deprecato ora. Il nuovo comando equivalente è quasi lo stesso - "hadoop fs -cat/user/hive/warehouse/csv_dump/*> ~/csv_dump.csv".Il takeaway fondamentale è che hadoop map hive tables to fs namespace/user/hive/warehouse. – sandeepkunkunuru
ho avuto un problema simile e questo è come sono stato in grado di affrontarlo.
Fase 1 - caricato i dati dalla tabella alveare in un'altra tabella come segue
DROP TABLE IF EXISTS TestHiveTableCSV; CREATE TABLE TestHiveTableCSV ROW FORMATO DELIMITATO CAMPI TERMINATO DA "," LINEE TERMINATE DA "\ n 'AS SELEZIONA Elenco colonne FROM TestHiveTable;
Fase 2 - Copiato il blob dal magazzino alveare nella nuova posizione con appropriata estensione
avvio AzureStorageBlobCopy
-DestContext $destContext
-SrcContainer "Source Container"-SrcBlob "hive/warehouse/TestHiveTableCSV/000000_0"
-DestContainer "Destinazione Container" ` - DestBlob "CSV/TestHiveTable.csv"
Spero che questo aiuti!
migliori saluti, dattatreya Sindol (Datta) http://dattatreysindol.com
Benvenuti al StackOverflow! Cosa hai provato fino ad ora e quali sono le diffferenze con il tuo attuale approccio? – Olaf
Ho creato lo script perl: utilizzare Testo :: CSV; my $ csv = Testo :: CSV-> new() o die "Can not use CSV:" .Text :: CSV-> error_diag(); $ csv-> eol ("\ r \ n"); while (my $ line = readline) { chomp $ line; my @cols = split/\ x01 /, $ line; $ csv-> print (* STDOUT, \ @cols); } – user1356713