gpt4 book ai didi

java - 如何在 PIG 中转置列和行

转载 作者:行者123 更新时间:2023-12-01 15:02:06 27 4
gpt4 key购买 nike

我不确定这是否可以使用内置 PIG 脚本来完成,否则我需要编写 UDF。但我本质上有一个表,我只想在其中转置数据。

简单地说,给出:

(1, 2, 3, 4, 5)
(6, 7, 8, 9, 10)
(11, 12, 13, 14, 15)
... 300 plus more tuples

我最终会得到:

(1,6,11,...) -> goes on for a few hundred more
(2,7,12,...)
(3,8,13,...)
(4,9,14,...)
(5,10,15,...)

关于如何实现这一目标有什么建议吗?

最佳答案

这对 Pig 来说是不可能的,也没有多大意义。请记住,关系是一个元组包,根据定义,一个包不能保证其元组按任何特定顺序排列。您可以从

开始
(1, 2, 3, 4, 5)
(6, 7, 8, 9, 10)
(11, 12, 13, 14, 15)

但从 Pig 的角度来看,这和

(11, 12, 13, 14, 15)
(1, 2, 3, 4, 5)
(6, 7, 8, 9, 10)

这意味着“转置”定义不明确。这样看——如果转置两次,最终应该得到相同的数据结构,但由于元组可以沿途重新排序,因此不能保证会发生这种情况。

最后,如果您确实必须进行矩阵运算,那么最好使用同时遵守行和列顺序的工具。

也就是说,您想要实现什么目标?

关于java - 如何在 PIG 中转置列和行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13498657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com