

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

# Contoh: Buat HCatalog tabel dan tulis menggunakan Pig
<a name="emr-hcatalog-pig"></a>

Anda dapat membuat HCatalog tabel dan menggunakan Apache Pig untuk menulisnya melalui HCat Storer menggunakan sumber data di Amazon S3. HCatalog mengharuskan Anda menonaktifkan penulisan langsung, atau operasi gagal secara 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 dijalankan di shell Grunt untuk mengisi tabel dari file data sampel di Amazon S3. 

Untuk menjalankan contoh ini, [Connect ke simpul utama menggunakan SSH](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html).

Buat file HCatalog skrip,`wikicount.q`, dengan konten berikut, yang membuat HCatalog tabel bernama`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';
```

Gunakan perintah HCat CLI untuk menjalankan 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();
```