在 Apache Pig 中,DISTINCT 运算符用于从数据集中提取不重复的记录。它可以用来消除数据中的重复记录,返回唯一的记录集合。

以下是一个简单的示例,演示如何使用 DISTINCT 运算符:
-- 载入数据
A = LOAD 'data.txt' USING PigStorage(',') AS (name:chararray, age:int);

-- 提取不重复的记录
B = DISTINCT A;

-- 显示结果
DUMP B;

在上述例子中,DISTINCT A; 将数据集 A 中的记录进行去重,返回不重复的记录集合,结果存储在数据集 B 中。

你还可以指定多个字段,以便在多个字段组合上执行去重操作:
-- 载入数据
C = LOAD 'data.txt' USING PigStorage(',') AS (name:chararray, age:int, city:chararray);

-- 提取不重复的记录(基于 name 和 city 字段的组合)
D = DISTINCT C BY name, city;

-- 显示结果
DUMP D;

在上述例子中,DISTINCT C BY name, city; 将数据集 C 中的记录按照 name 和 city 字段的组合进行去重,返回不重复的记录集合。

DISTINCT 操作通常用于在数据清洗或准备阶段,去除重复的记录,以确保数据的唯一性。

总体而言,DISTINCT 运算符是 Apache Pig 中用于去除数据集中重复记录的重要工具。


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