在 Apache Pig 中,UNION 操作符用于合并两个或多个数据集,生成包含所有记录的新数据集。被合并的数据集的模式(schema)必须是一致的。

以下是 UNION 操作符的简单示例:
-- 载入两个数据集
A = LOAD 'data1.txt' USING PigStorage(',') AS (name:chararray, age:int);
B = LOAD 'data2.txt' USING PigStorage(',') AS (name:chararray, age:int);

-- 使用 UNION 合并两个数据集
C = UNION A, B;

-- 显示合并后的结果
DUMP C;

在上述例子中,UNION A, B; 将数据集 A 和 B 进行合并,生成数据集 C。注意,被合并的数据集的字段顺序和数据类型必须一致,否则可能导致错误。

需要注意的是,UNION 操作并不会去除重复的记录,它简单地将两个数据集的内容合并在一起。如果你想去除重复记录,可以使用 DISTINCT 操作符。
-- 载入两个数据集
A = LOAD 'data1.txt' USING PigStorage(',') AS (name:chararray, age:int);
B = LOAD 'data2.txt' USING PigStorage(',') AS (name:chararray, age:int);

-- 使用 DISTINCT 合并并去重两个数据集
C = DISTINCT UNION A, B;

-- 显示合并并去重后的结果
DUMP C;

上述例子中,DISTINCT UNION A, B; 将数据集 A 和 B 进行合并并去重,生成数据集 C。

总体而言,UNION 操作符是在 Apache Pig 中用于合并多个数据集的实用工具,但在使用时需要确保被合并的数据集的模式一致。


转载请注明出处:http://www.zyzy.cn/article/detail/11099/Apache Pig