作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不确定这是否可以使用内置 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/
我是一名优秀的程序员,十分优秀!