Contoh: Buat tabel HCatalog dan tulis menggunakan Pig - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh: Buat tabel HCatalog dan tulis menggunakan Pig

Anda dapat membuat tabel HCatalog dan menggunakan Apache Pig untuk menuliskannya dengan cara HCatStorer menggunakan sumber data di Amazon S3. HCatalog mengharuskan Anda menonaktifkan menulis langsung, atau operasi gagal diam-diam. Atur konfigurasi mapred.output.direct.NativeS3FileSystem dan mapred.output.direct.EmrFileSystem ke false menggunakan klasifikasi mapred-site atau secara manual dari dalam shell Grunt. Contoh berikut menunjukkan tabel yang dibuat menggunakan HCat CLI, diikuti oleh perintah yang dieksekusi di shell Grunt untuk mengisi tabel dari file data sampel di Amazon S3.

Untuk menjalankan contoh ini, Connect ke simpul utama menggunakan SSH.

Buat file script HCatalogwikicount.q, dengan isi sebagai berikut, yang menciptakan tabel HCatalog bernamawikicount.

CREATE EXTERNAL TABLE IF NOT EXISTS wikicount( col1 string, col2 bigint ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001' STORED AS ORC LOCATION 's3://MyBucket/hcat/wikicount';

Gunakan perintah HCat CLI untuk mengeksekusi skrip dari file.

hcat -f wikicount.q

Selanjutnya, mulai shell Grunt dengan -useHCatalog opsi, atur konfigurasi untuk menonaktifkan penulisan langsung, memuat data dari lokasi S3, lalu menulis hasilnya ke tabel 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();