Apache Pig CROSS 运算符
Apache Pig CROSS 运算符有助于计算两个或多个关系的叉积。使用 CROSS 算子是一项开销很大的操作,应该谨慎使用。
CROSS 算子示例
在这个例子中,我们计算两个关系的数据。
CROSS Operator 执行步骤
- 在您的本地机器上创建一个文本文件并向其中写入一些值。
$ nano pcross1.txt
- 在本地计算机上创建另一个文本文件,并向其中写入一些值。
$ nano pcross2.txt
- 检查两个文本文件中写入的值。
$ cat pcross1.txt $ cat pcross2.txt
- 上传 HDFS 上特定目录中的两个文本文件。
$ hdfs dfs-put pcross1.txt /pigexample $ hdfs dfs-put pcross2.txt /pigexample
- 开启猪 MapReduce 运行模式。
$ pig
- 加载包含数据的文件。
grunt> A = LOAD '/pigexample/pcross1.txt' USING PigStorage(',') AS (a1:int,a2:int);
- 现在,执行并验证数据。
grunt> DUMP A;
- 加载包含数据的另一个文件。
grunt> B = LOAD '/pigexample/pcross2.txt' USING PigStorage(',') AS (b1:int,b2:int,b3:int);
- 现在,执行并验证数据。
grunt> DUMP B;
- 让我们在两个文件之间执行笛卡尔积。
grunt> Result = CROSS A,B;
- 现在,执行并验证数据。
grunt> DUMP Result;
在这里,我们得到了想要的输出。
Apache Pig DISTINCT 运算符用于删除关系中的重复元组。最初,Pig 对给定的数据进行排序,然后消除重复项。 DISTINCT 运算符示例在本例中,我们消除了重复的元 ...