我有一个像这样的自定义Pig加载器:
A = LOAD 'myfile' USING myudf_loader()
A
包含:
((key1, val1), (key2, val2), (key3, val3), ...)
即A
有一个外部元组,其中包含存储在内部元组中的键值对。
我没有使用映射,因为映射要求关系中的键值必须是唯一的。我拥有的键不一定是唯一的。
键为chararrays
,取值为chararrays
、ints
、floats
。
我想访问A
的内部元组,以及这些元组中的(键,值)对。
例如,我想FILTER
A
的键,这样只剩下key = "city"
和value = "New York City"
字段。
示例输入:
DUMP A;
(("city", "New York City"), ("city", "Boston"),
("city", "Washington, D.C."), ("non-city-key", "non-city-value"),
("city", "New York City"), ("non-city-key", "non-city-value"))
过滤输出示例,存储在B
中:
DUMP B;
("city", "New York City")
("city", "New York City")
我没有你完整的猪拉丁文。
但是你可以使用下面的想法
grouped_records = GROUP records By Key;
filtered_records = FILTER grouped_records By group='CITY'
Dump filtered_records
干杯唠叨