Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplo: crea una HCatalog tabla y escribe en ella con Pig
Puede crear una HCatalog tabla y usar Apache Pig para escribir en ella mediante HCat Storer utilizando una fuente de datos en Amazon S3. HCatalog requiere que deshabilite la escritura directa o la operación fallará silenciosamente. Defina las configuraciones mapred.output.direct.NativeS3FileSystem
y mapred.output.direct.EmrFileSystem
en false
utilizando la clasificación mapred-site
o bien manualmente desde el shell de Grunt. El siguiente ejemplo muestra una tabla creada mediante la HCat CLI, seguida de los comandos ejecutados en el shell de Grunt para rellenar la tabla a partir de un archivo de datos de ejemplo en Amazon S3.
Para ejecutar este ejemplo, conéctese al nodo maestro mediante SSH.
Cree un archivo de HCatalog scriptwikicount.q
, con el siguiente contenido, para crear una HCatalog tabla denominada. wikicount
CREATE EXTERNAL TABLE IF NOT EXISTS wikicount( col1 string, col2 bigint ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001' STORED AS ORC LOCATION 's3://
amzn-s3-demo-bucket
/hcat/wikicount';
Utilice un comando HCat CLI para ejecutar el script desde el archivo.
hcat -f wikicount.q
A continuación, inicie el shell de Grunt con la opción -useHCatalog
, defina las configuraciones para deshabilitar la escritura directa, cargar datos desde una ubicación de S3 y, a continuación, escriba los resultados en la tabla wikicount.
pig -useHCatalog SET mapred.output.direct.NativeS3FileSystem false; SET mapred.output.direct.EmrFileSystem false; A = LOAD 's3://support.elasticmapreduce/training/datasets/wikistats_tiny/' USING PigStorage(' ') AS (Site:chararray, page:chararray, views:int, total_bytes:long); B = GROUP A BY Site; C = FOREACH B GENERATE group as col1, COUNT(A) as col2; STORE C INTO 'wikicount' USING org.apache.hive.hcatalog.pig.HCatStorer();