当前位置: 首页 > 面试题库 >

如何在PIG中转置列和行

子车高歌
2023-03-14
问题内容

我不确定是否可以使用内置的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)

这意味着“转置”定义不正确。以这种方式看待它–如果两次转置,则应该返回相同的数据结构,但是由于元组可以沿途重新排序,因此不能保证会发生这种情况。

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

也就是说,您要完成什么?



 类似资料:
  • 问题内容: 我在s3中有很多gzip日志文件,其中有3种类型的日志行:b,c,i。我和c都是单层json: 类型b是深度嵌套的json。我碰到这个要点,谈论要编译一个罐子来完成这项工作。由于我的Java技能还不算出色,因此我真的不知道该怎么做。 由于类型i和c并不总是相同的顺序,因此很难在生成正则表达式中指定所有内容。Pig是否可以处理JSON(在gzip文件中)?我正在使用在Amazon Ela

  • 问题内容: 我想转置HTML表格中的行和列,即将行作为列,将列作为行。 我可以用什么方式做到这一点? 范例: 如 问题答案: HTML: js:

  • 我正在尝试从IntelliJ中的源代码在本地运行apache pig。我想逐步完成单元测试。 我已经完成了以下步骤: 之后有人有将其导入IntelliJ的说明吗?它可以使用ant从cmd行编译。 当我归档时- 谢谢

  • 我正在将SQL查询的结果写入Excel工作表,并尝试将行转换为列,但似乎无法让Pandas移动;Excel似乎存在某种难题。我看过: 如何在数据帧中切换列和行 在groupby之后,如何将dataframe中的行值转换为Python中的列标签? 在Python中将列转换为行 Python:将行转换为列标题 似乎都不起作用。 Excel表格: 请求:

  • 问题内容: 我有以下ArrayList, 我想这样转换 我对这种方法感到困惑。任何提示将不胜感激。 谢谢。 问题答案: 这称为换位。以下代码片段可以满足您的需求: 也可以看看 维基百科/转置

  • 问题内容: 我是猪脚本,Hadoop,Hbase的新手。这是我需要知道的。我想运行一个Pig脚本,我不想在我的Java程序中嵌入该Pig脚本,并希望通过传递必要的Pig脚本和参数(可能是参数文件)的任何Pig Execution方法来运行它。核心Pig库或任何其他库是否提供了执行Pig脚本的方式。我已经尝试过使用Java运行时exec方法,我用空格分隔的字符串传递了一些参数,所以我放弃了通过运行时