翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
例: HCatalog テーブルを作成して Pig を使用して書き込む
HCatalog テーブルを作成し、Amazon S3 のデータソースを使う HCatStorer の方法で、Apache Pigを使用してテーブルに書き込むことができます。HCatalogでは、直接書き込みを無効にする必要があります。無効にしないと操作が警告なしに失敗します。および mapred.output.direct.NativeS3FileSystem
構成の両方を、 mapred.output.direct.EmrFileSystem
分類を使用することで、 false
またはGruntシェル内から mapred-site
手動で設定します。次の例では、HCat CLI を使用して作成されたテーブルと、Amazon S3 内のサンプルデータファイルからテーブルに値を設定するために Grunt シェルで実行されるコマンドを示しています。
この例を実行するには、SSH を使用してマスターノードに接続します。
次のコンテンツで HCatalog スクリプトファイル wikicount.q
を作成します。これにより、wikicount
という名前の HCatalog テーブルが作成されます。
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';
HCat CLIコマンドを使用してファイルからスクリプトを実行します。
hcat -f wikicount.q
次に、 -useHCatalog
オプションでGruntシェルを起動し、直接書き込みを無効にするように構成を設定し、S3の場所からデータを読み込み、その結果を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();