Apache Pig CROSS 运算符

Apache Pig CROSS 运算符有助于计算两个或多个关系的叉积。使用 CROSS 算子是一项开销很大的操作,应该谨慎使用。

 

CROSS 算子示例

在这个例子中,我们计算两个关系的数据。

 

CROSS Operator 执行步骤

 

  • 在您的本地机器上创建一个文本文件并向其中写入一些值。

 

$ nano pcross1.txt

Apache Pig CROSS Operator

  • 在本地计算机上创建另一个文本文件,并向其中写入一些值。
$ nano pcross2.txt

Apache Pig CROSS Operator

  • 检查两个文本文件中写入的值。
$ cat pcross1.txt
$ cat pcross2.txt

Apache Pig CROSS Operator

  • 上传 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 CROSS Operator

在这里,我们得到了想要的输出。

Apache Pig DISTINCT 运算符用于删除关系中的重复元组。最初,Pig 对给定的数据进行排序,然后消除重复项。 DISTINCT 运算符示例在本例中,我们消除了重复的元 ...