Esempio: crea una HCatalog tabella e scrivici usando Pig - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempio: crea una HCatalog tabella e scrivici usando Pig

Puoi creare una HCatalog tabella e utilizzare Apache Pig per scriverci tramite HCat Storer utilizzando un'origine dati in Amazon S3. HCatalog richiede la disabilitazione della scrittura diretta, altrimenti l'operazione fallisce in modo invisibile. Imposta entrambe le configurazioni mapred.output.direct.NativeS3FileSystem e mapred.output.direct.EmrFileSystem su false tramite la classificazione mapred-site oppure manualmente dalla shell Grunt. L'esempio seguente mostra una tabella creata utilizzando la HCat CLI, seguita da comandi eseguiti nella shell Grunt per popolare la tabella da un file di dati di esempio in Amazon S3.

Per eseguire questo esempio, connettiti al nodo master tramite SSH.

Crea un file di HCatalog script con il seguente contenutowikicount.q, che crea una tabella denominata. HCatalog 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';

Utilizzate un comando HCat CLI per eseguire lo script dal file.

hcat -f wikicount.q

Quindi, avvia la shell Grunt con l'opzione -useHCatalog, imposta le configurazioni per disabilitare la scrittura diretta, carica i dati da un percorso S3 e scrivi i risultati sulla tabella 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();