una precio mercado libre hacer flujo cosechables como colombia colmenas colmena automatica hive partition

hive - precio - Cómo recoger todos los datos en la colmena desde los subdirectorios



flow hive colombia (4)

ALTER TABLE sampledata ADD PARTITION (ystr =''2012'', ymstr=''2012-01'', ymdstr=''2012-01-01'') LOCATION ''/path/to/data/2012/2012-01/2012-01-01'';

Tengo datos organizados en directorios en un formato particular (que se muestra a continuación) y quiero agregarlos a la tabla de colmenas. Quiero agregar todos los datos del directorio de 2012. Todos los nombres a continuación son nombres de directorio, y el directorio más interno (3er nivel) tiene los archivos de datos reales. ¿Hay alguna manera de recoger los datos directamente sin tener que cambiar esta estructura de directorios? Cualquier puntero es apreciado.

/2012/ | |---------2012-01 |---------2012-01-01 |---------2012-01-02 |... |... |---------2012-01-31 | |---------2012-02 |---------2012-02-01 |---------2012-02-02 |... |... |---------2012-02-28 | |---------2012-03 |... |... |---------2012-12

Consultas intentadas hasta ahora sin suerte:

CREATE EXTERNAL TABLE sampledata (datestr string, id string, locations string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ''|'' LOCATION ''/path/to/data/2012/*/*''; CREATE EXTERNAL TABLE sampledata (datestr string, id string, locations string) partitioned by (ystr string, ymstr string, ymdstr string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ''|''; ALTER TABLE sampledata ADD PARTITION (ystr =''2012'') LOCATION ''/path/to/data/2012/'';

SOLUCIÓN: Este pequeño parámetro soluciona mi problema. Agregando a la pregunta donde podría ser beneficioso para otros:

SET mapred.input.dir.recursive=true;


Respondiendo a mi propia pregunta con la solución que funciona para mi caso. SET mapred.input.dir.recursive = true;


SET hive.mapred.supports.subdirectories=true; SET mapred.input.dir.recursive=true;


Lo siguiente funcionó en hortonworks

alter table .... set blproperties ( "hive.input.dir.recursive" = "TRUE", "hive.mapred.supports.subdirectories" = "TRUE", "hive.supports.subdirectories" = "TRUE", "mapred.input.dir.recursive" = "TRUE");