2012-08-16 23 views
8

Tengo algunos datos en HIVE, y me gustaría verlos en LibreOffice.Exportar HIVE a un CSV

¿Cómo puedo exportar estos datos y luego importarlo en Libreoffice

+1

Bienvenido al Stackoverflow! ¿Qué has intentado hasta ahora y qué difcultades esperas con tu enfoque actual? – Olaf

+0

Creé la secuencia de comandos de perl: uso Text :: CSV; mi $ csv = Texto :: CSV-> new() or die "No se puede utilizar CSV:" .Texto :: CSV-> error_diag(); $ csv-> eol ("\ r \ n"); while (my $ line = readline) { chomp $ line; my @cols = split/\ x01 /, $ line; $ csv-> print (* STDOUT, \ @cols); } – user1356713

Respuesta

0

Puede especificar y personalizar la forma de almacenar sus tablas por el mecanismo de la colmena SerDe. Gracias a ogrodnek usuario en GitHub, hay CSV SerDe implementación.

Es una especie de obsoleto (colmena 0.5) pero se puede adoptar fácilmente a la nueva versión de colmena. Todo lo que tenía que hacer para tener éxito con eso - simplemente cambiando la configuración de compilación a mi distribución y versión de colmena (utilicé pom.xml para maven en solicitud de extracción de kunkunur) y agregué estas líneas a CSVSerde.java para satisfacer nueva API:

import org.apache.hadoop.hive.serde2.SerDeStats; 
.... 
.... 
@Override 
public SerDeStats getSerDeStats() { 
// no support for statistics 
return null; 
} 

a continuación, sólo se puede ejecutar hadoop dfs -get /table/or/partition/location /local/destination (o incluso utilizar un -gato con tuberías o salida de una sola fila) para cargar los datos de Hadoop - ya sea en formato CSV.

21

Basado en 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 
+1

El último comando es obsoleto ahora. nuevo comando equivalente es casi el mismo - "hadoop fs -gato/usuario/colmena/almacén/csv_dump/*> ~/csv_dump.csv".El punto clave es que hadoop map tablas de colmenas a fs namespace/user/hive/warehouse. – sandeepkunkunuru

1

tuve un problema similar y esto es lo que era capaz de hacerle frente.

Paso 1 - cargado los datos de la tabla colmena a otra tabla como sigue

DROP TABLE IF EXISTS TestHiveTableCSV; CREATE TABLE TestHiveTableCSV formato de fila CAMPOS terminados en '', LÍNEAS terminados en '\ n' AS Lista de columnas SELECT TestHiveTable acotadas;

Paso 2 - copiado la burbuja desde el almacén colmena para la nueva ubicación con la extensión adecuada

Start-AzureStorageBlobCopy -DestContext $destContext -SrcContainer "Fuente de contenedores" -SrcBlob "hive/warehouse/TestHiveTableCSV/000000_0" -DestContainer "Destino Contenedor" ` - DestBlob "CSV/TestHiveTable.csv"

Espero que ayude!

Best Regards, Dattatrey Sindol (Datta) http://dattatreysindol.com

Cuestiones relacionadas