を使用して、他のデータセット(データ転置の一種)からデータをフェッチするために、私は、2つのデータセットをした、一方がソースデータであり、別のメタデータです。使用列の値は、Apache豚
source data
============
name city state country
Ram Agra UP India
John Aligarh UP India
Shyam Merrut UP India
Isha Kanpur UP India
Metadata
=========
column_input flag
name Y
city Y
state N
country N
FINAL OUTPUT
============
name city
Ram Agra
John Aligarh
Shyam Merrut
Isha Kanpur
私たちは、私たちはここに「都市」と「状態」ので、私たちが必要とするため、メタデータのデータ・セット、最初にいるロジックフラグべき「Y」を読み/参照する必要があるメタ情報に基づいて、ソースからのいくつかの列を必要とソースデータからこれらの2つの列のみをプルします。
私は今、私が対応する列のデータをフェッチするために供給するために、この列名を渡すことができますどのように、メタデータのデータ・セットから列名を取得することができますよ。
現在のコード
meta_data_read = LOAD '/user/aidb' USING PigStorage(',') AS (column_input,flag);
filter_flag = FILTER meta_data_read by LOWER(TRIM(Flag)) == 'y' ;
gen_required_col = FOREACH filter_flag GENERATE column_input;
dump gen_required_col ;
(city)
(state)
あなたはすべての行に対して同じメタを持っているか、それは行ごとに異なりますができますか?すべての行について – kecso
同じメタデータ。 – Prashant