1. 合并操作(Merge):
在 Pig 中,常用的合并操作包括 UNION 操作符。UNION 用于合并两个或多个关系(Relations)或数据集,这些数据集的模式(Schema)必须是一致的。
-- 合并两个数据集
A = LOAD 'data1.txt' USING PigStorage(',') AS (name:chararray, age:int);
B = LOAD 'data2.txt' USING PigStorage(',') AS (name:chararray, age:int);
C = UNION A, B;
-- 显示结果
DUMP C;
上述例子中,UNION A, B; 将数据集 A 和 B 进行合并,生成数据集 C。
2. 拆分操作(Split):
在 Pig 中,可以使用 SPLIT 操作符将数据集拆分成多个子集,每个子集满足特定的条件。
-- 载入数据
A = LOAD 'data.txt' USING PigStorage(',') AS (name:chararray, age:int);
-- 根据条件拆分数据集
SPLIT A INTO OVER_25 IF age > 25, UNDER_25 IF age <= 25;
-- 显示结果
DUMP OVER_25;
DUMP UNDER_25;
上述例子中,SPLIT A INTO OVER_25 IF age > 25, UNDER_25 IF age <= 25; 将数据集 A 拆分成两个子集,一个包含年龄大于 25 的记录(OVER_25),另一个包含年龄不超过 25 的记录(UNDER_25)。
这些操作允许你在 Pig 脚本中对数据进行合并或拆分,根据实际需求进行处理。请注意,UNION 和 SPLIT 操作都是在逻辑层面上进行操作,并不涉及数据的物理移动。
转载请注明出处:http://www.zyzy.cn/article/detail/11098/Apache Pig