Red de conocimiento informático - Material del sitio web - Cómo crear un archivo de datos de colmena

Cómo crear un archivo de datos de colmena

Método 1: utilice el editor directamente para insertar caracteres de control, tomando Vi como ejemplo.

Ingrese Vi:

Código de colección de código Shell

$vi Supply-20110101.txt

En el modo de comando Vi, ingrese: set list establece que el carácter de control sea visible. Después del éxito, Vi mostrará inmediatamente la marca de final de línea $. Complete cada columna de datos necesarios en la tabla de Hive. Por ejemplo, necesito crear una tabla de particiones aquí:

Código de colección de código de shell de Hive

Hive (ch09)gt; suministro de tabla (id int, cadena de pieza, cantidad int) dividido por (día int);

Hive (ch09)gt; alterar suministro de tabla agregar partición (día=20110101); colmena (ch09)gt; alterar suministro de tabla agregar partición (día=20110102);

hive (ch09)gt; alterar suministro de tabla agregar partición (día=20110103); ver* *** Se requieren tres columnas de datos: id, pieza, cantidad.

Ingrese al modo de edición en Vi y complete:

Código de colección de código Vi

10part10100$

Aquí, estoy intentando ingresar 10 como identificación, parte 10 como parte, 100 como cantidad y el último $ es la marca de final de línea.

Luego mueva el cursor a la ubicación donde necesita insertar el separador, primero escriba Ctrl V, luego escriba el separador de campo Ctrl A:

Código de colección de códigos Vi

10^Apart10100$

Inserte otros delimitadores en secuencia para completar la edición:

Código de colección de códigos Vi

10^Apart10^A100$

11^Apart11 ^A90$

12^Apart12^A110$

13^Apart13^A80$

En este punto puedes importar los datos al panal. tabla:

Código de recopilación de código de shell de Hive

hive (ch09)gt; cargar datos en la ruta de entrada local '${env:HOME}/data/supply-20110103.txt' sobrescribe la tabla suministro

gt; partición (día='20110103');

Copiar datos del archivo:/root/data/supply-20110103.txt

Copiar archivo : archivo:/root/data/supply-20110103.txt

Cargar datos en la tabla ch09.supply partición (día=20110103)

rmr: En desuso: utilice "rm -r " en cambio.

Se movió: 'hdfs://n8.example.com:8020/user/hive/warehouse/ch09.db/supply/day=20110103' a la papelera en: hdfs://n8.example. com: 8020/user/root/.Trash/Current

Partición ch09.supply{day=20110103} estadísticas: [num_files: 1, num_rows: 0, total_size: 54, raw_data_size: 0]

Tabla ch09.supply stats: [num _partitions: 3, num_files: 3, num_rows: 0, total_size: 147, raw_data_size: 0]

OK

Consumo de tiempo: 0,522 segundos

Echa un vistazo a los datos que acabas de cargar y asegúrate de que sean correctos:

Código de recopilación de códigos de shell de Hive

hive (ch09)gt; seleccione * del suministro donde día='20110103';

OK

id cantidad de pieza día

10 parte 10 100 20110103

11 parte 11 90 20110103

12 Parte 12 110 20110103

13 Parte 13 80 20110103

Tiempo empleado: 0,229 segundos

código shell

p>

Puede ver que los datos son completamente correctos y también puede ver que Hive convierte automáticamente operaciones como select * en operaciones del sistema de archivos sin generar ningún trabajo de MapReduce.

Código de colección de códigos de shell de Hive

CREAR TABLA de suministro (id INT, parte STRING, cantidad INT) PARTICIONADA POR (día INT)

FORMATO DE FILA DELIMITADO

p>

CAMPOS TERMINADOS POR '.

Elementos de colección que terminan en ','

Claves de tabla que terminan en '="

ALMACENADO COMO SEQUENCEFILE ;

Esto omitirá los caracteres de control.

De:/blog/1922887