Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache pig Pig数据转换_Apache Pig - Fatal编程技术网

Apache pig Pig数据转换

Apache pig Pig数据转换,apache-pig,Apache Pig,我们有以下示例数据,必须使用pig脚本将其转换为输出格式 > 我们需要比较每个id的每个列的值(值列的值) 需要以以下格式生成输出 Id1 Id2 value_rank1 value_rank1 value_rank2 value_rank2 value_rank3 value_rank3 ... ........ value_rankn

我们有以下示例数据,必须使用pig脚本将其转换为输出格式

>

我们需要比较每个id的每个列的值(值列的值)

需要以以下格式生成输出

Id1                   Id2

value_rank1           value_rank1

value_rank2           value_rank2

value_rank3           value_rank3

...                   ........

value_rankn           value_rankn
例如

12324     12325   ..

1582       1582

1142       1142

        1292

1292       1134

1134       1183
对于特定id的任何缺失排名,必须有一个空值


使用pig脚本有什么方法可以实现这一点吗?

pig按记录操作数据(基于行)。在ETL操作之后,它会为大多数情况生成基于行的记录

根据您的需求,我认为可以使用UDF(生成占位符)生成以下内容:

12324, 1582, 1142, , 1292, 1134
12325, 1582, 1142, 1292, 1134, 1183
然后在其他软件中将数据从基于行转换为基于列(例如,在Excel中使用“粘贴特殊->转换”)

12324, 1582, 1142, , 1292, 1134
12325, 1582, 1142, 1292, 1134, 1183