使用 Apache Pig 的数据透视表

2024-04-24

我想知道是否可以在 Apache Pig 中一次性旋转一张表。

Input:

Id    Column1 Column2 Column3
1      Row11    Row12   Row13
2      Row21    Row22   Row23

Output:

Id    Name     Value
1     Column1  Row11
1     Column2  Row12
1     Column3  Row13
2     Column1  Row21
2     Column2  Row22
2     Column3  Row23

真实数据有几十列。

我可以使用 awk 一次性完成此操作,然后使用 Hadoop Streaming 运行它。但我的大部分代码都是 Apache Pig,所以我想知道是否可以在 Pig 中有效地完成它。


您可以通过两种方式做到这一点: 1. 编写一个返回一包元组的 UDF。这将是最灵活的解决方案,但需要 Java 代码; 2. 编写一个严格的脚本,如下所示:

inpt = load '/pig_fun/input/pivot.txt' as (Id, Column1, Column2, Column3);
bagged = foreach inpt generate Id, TOBAG(TOTUPLE('Column1', Column1), TOTUPLE('Column2', Column2), TOTUPLE('Column3', Column3)) as toPivot;
pivoted_1 = foreach bagged generate Id, FLATTEN(toPivot) as t_value;
pivoted = foreach pivoted_1 generate Id, FLATTEN(t_value);
dump pivoted;

运行这个脚本得到了以下结果:

(1,Column1,11)
(1,Column2,12)
(1,Column3,13)
(2,Column1,21)
(2,Column2,22)
(2,Column3,23)
(3,Column1,31)
(3,Column2,32)
(3,Column3,33)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Apache Pig 的数据透视表 的相关文章

  • 如何提高数据严重偏差的养猪工作的绩效?

    我正在运行一个 Pig 脚本 该脚本执行 GROUP BY 和嵌套 FOREACH 由于一两个减少任务 该脚本需要几个小时才能运行 例如 B GROUP A BY fld1 fld2 parallel 50 C FOREACH B U A
  • 未生成 Hadoop 流映射器字节偏移量

    我正在运行流式 Hadoop 作业 并且字节偏移量不会作为映射器的输出 键 生成 就像我所期望的那样 命令 HADOOP INSTALL bin hadoop jar HADOOP INSTALL contrib streaming had
  • Hadoop 流命令失败并出现 Python 错误

    我是 Ubuntu Hadoop 和 DFS 的新手 但我已经按照 Michael Noll com 上发布的说明成功在本地 ubuntu 计算机上安装了单节点 hadoop 实例 http www michael noll com tut
  • 在 Pig 中提取 CSV 文件的第一行

    我有几个 CSV 文件 标题始终是文件中的第一行 在 Pig 中将该行作为字符串从 CSV 文件中取出的最佳方法是什么 不能使用 sed awk 等进行预处理 我尝试使用常规 PigStorage 和 Piggybank CsvLoader
  • 是否可以将参数值传递给 UDF 构造函数?

    我编写了一个带有构造函数参数的 UDF 我已经成功初始化并使用它grunt as grunt gt register mylib jar grunt gt define Function com company pig udf MyFunc
  • 在 Pig 中删除单列

    我正在按大约 20 个 ID 的列表过滤表 现在我的代码如下所示 A LOAD ids txt USING PigStorage B LOAD massive table USING PigStorage C JOIN A BY 0 B B
  • 对相关包进行排序

    我有一个 Pig 脚本 它生成了一个关系 A x chararray B y chararray z int 我想根据 B y 对 A 进行排序 但是以下代码给了我错误 语法错误 z 处或附近出现意外符号 output foreach A
  • 无法构建 Piggybank -> /home/build/ivy/lib 不存在

    嘿 我按照这里的步骤操作 http wiki apache org pig PiggyBank http wiki apache org pig PiggyBank构建存钱罐罐子 但我不断得到下面的输出 我还从源代码构建了 pig 项目 并
  • 使用带有子进程、Pipe、Popen 的 python 从 hdfs 读取/写入文件会出现错误

    我正在尝试在 python 脚本内读取 打开 和写入 hdfs 中的文件 但有错误 有人可以告诉我这里出了什么问题吗 代码 完整 sample py usr bin python from subprocess import Popen P
  • 运行 HCatalog 时出错

    A LOAD eventnew txt USING HCatalogLoader 2015 07 08 19 56 34 875 主要 错误 org apache pig tools grunt Grunt 错误 1070 无法使用导入解析
  • AWS Elastic mapreduce 似乎没有正确地将流媒体转换为 jar

    我有一个映射器和减速器 当我在管道版本中运行它们时 它们可以正常工作 cat data csv mapper py sort k1 1 reducer py 我使用了弹性mapreducer向导 加载了输入 输出 引导程序等 引导程序成功
  • 在 hadoop 中使用 Pig 中的正则表达式

    我有一个包含用户 tweetid tweet userid 的 CSV 文件 396124436476092416 Think about the life you livin but don t think so hard it hurt
  • 在 Pig 中解析复杂的 JSON 字符串

    我想在 Pig 中解析一串复杂的 JSON 具体来说 我希望 Pig 将我的 JSON 数组理解为一个包 而不是单个字符数组 使用 JsonLoader 时 我可以通过指定架构轻松完成此操作 如下所示这个问题 https stackover
  • Pig FILTER 返回我数不清的空袋子

    我正在尝试计算数据集中有多少个值与过滤条件匹配 但当过滤器不匹配任何条目时 我遇到了问题 我的专栏里有很多data结构 但本例中只使用了三个 key 该集合的数据键 不是唯一的 value 记录的浮点值 nominal value 代表标称
  • 使用 Pig 中的elephantbird 进行 Json 解析

    我无法在 Pig 中解析以下数据 这是 Twitter API 在获取某个用户的所有推文后返回的内容 源数据 我删除了一些数字 以免无意中侵犯任何人的隐私 created at Sat Nov 01 23 15 45 0000 2014 i
  • Hive 和 PIG/Grunt shell 挂在 cygwin 上

    我在 Windows 7 机器 32 位 上以本地模式运行 Hadoop 我已将 HIVE PIG Hadoop Java6 全部安装在 C 驱动器上 我使用的 Cygwin 版本 2 819 我已将 C 安装在 cygwin 上 我可以从
  • 如何使用通配符投影别名?

    一旦我做了一个join A by id B by id 我得到一个带有字段的别名A f B f 有没有办法只将其投影到A fields C join A by id B by id D filter C by B n lt 1000 E f
  • hdfs 命令在 hadoop 中已弃用

    我正在关注这个程序 http www codeproject com Articles 757934 Apache Hadoop for Windows Platform YouTube 链接 https www youtube com w
  • PIG 将文本行转换为稀疏向量

    我必须使用 Apache PIG 将需要合并的文件 第一个文件包含书名列表 就像这样 每个书名都单独一行 Ted Dunning Mahout in Action Leo Tolstoy War and Peace Douglas Adam
  • Hadoop 超立方体

    嘿 我正在启动一个基于 hadoop 的超立方体 具有灵活的维度数 有人知道这方面现有的方法吗 我刚刚发现PigOLAP草图 http wiki apache org pig PigOLAPSketch 但没有代码可以使用它 另一种方法是Z

随机推荐

  • TypeScript 类型的并集被解析为类型的交集

    我有这个片段 class J constructor public foo number class B constructor public bar string interface Cache json J binary B funct
  • 如何预填写 Google 表单复选框?

    我看过这个问题 是否可以使用谷歌电子表格中的数据 预填写 谷歌表单 https stackoverflow com questions 20108511 is it possible to prefill a google form usi
  • 将“onclick”应用于 iFrame 中的所有元素

    如何使用 JavaScript DOM 来应用onclick事件到链接内部iframe 这是我正在尝试但不起作用的方法 document getElementById myIframe contentDocument getElements
  • 使用 JOIN(大表性能)Postgresql 进行 UPDATE FROM?

    我试图让以下查询以合理的性能执行 UPDATE order item imprint SET item new id oi item new id FROM order item oi INNER JOIN order item impri
  • 通过 Rails 访问 has_many 上的附加值

    我在访问 has many 上名为 permission 的附加参数的值时遇到了真正的麻烦 这可能是很简单的事情 我的 3 个型号是 class User lt ActiveRecord Base has many players user
  • CultureAndRegionInfoBuilder 不存在

    好吧 这是一个奇怪的事情 我正在尝试使用以下方法创建自定义文化 using System Globalization var x new CultureAndRegionInfoBuilder 但我收到了令人讨厌的红色 Resharper
  • 在 Firebase 项目中集成 Gmail 连接

    我开发了一个应用程序 它使用 gmail api 来获取来自用户的所有邮件 然后我将此应用程序分为一个示例 几乎是空的 和一个执行所有操作的片段 这样我以后就可以轻松地将我的片段集成到我团队的项目设置中 现在我的片段位于另一个项目中 gma
  • 从 Lambda 向 AWS IoT Core 发布 MQTT 消息

    我是 AWS 世界的新手 目前正在开发一项 Alexa 技能 该技能只需向 AWS IoT Core 代理发布一条 mqtt 消息 与之前创建的 事物 和主题进行交互 目前我正在使用 boto3 但我不确定这是正确的路径 这是代码 但在部署
  • 移动 Safari - 视口设备高度未按预期工作

    我有一个网络应用程序 我试图在 iPad 3 上运行 当我拉起它时 该应用程序允许垂直滚动 但实际上不应该 我已经对其他网络应用程序执行了相同的过程 没有任何问题 并且不确定这次我错过了什么 在我的 html 的 head 元素内 我有以下
  • 如何使用 EditTextPreference 作为屏蔽密码文本字段?

    我有一个非常简单的问题 我有一个EditTextPreference我想用它来获取用户的密码 并且我希望它被屏蔽 我怎样才能做到这一点 下面是一个使用 xml 的简短示例
  • 对象切片,有优势吗?

    对象切片是指当子类被分配给基类时 对象失去一些属性或功能 就像是 Class A Class B extends A Class SomeClass A a new A B b new B Some where if might happe
  • 使用“in”关键字迭代 Javascript 数组

    貌似没明白这句话的意思inJavaScript 中的关键字 看看这个代码片段 http jsfiddle net 3LPZq http jsfiddle net 3LPZq var x 1 2 for i in x document wri
  • Onvif - 尝试了解它是如何工作的

    首先 我完全没有使用ONVIF的经验 我在一家公司获得了奖学金 并被要求与它一起工作 控制一些相机并从它们那里获取照片 但他们也不知道它是如何工作的 所以没有人可以帮助我很多 我正在阅读 ONVIF 网页上提供的规范 但我不太明白 我知道我
  • iOS 自定义标签栏

    我刚刚开始 iOS 开发 只是在玩 atm 我正在尝试将默认的选项卡栏按钮转换为更自定义的按钮 经过一番查看后 我发现您可以为每个按钮创建自定义状态 所以我这样做了 UIImage selectedImage0 UIImage imageN
  • 合并多个表

    我有很多表格描述了我的小公司的不同类型的支出和收益 并且我发现没有简单的方法来合并我的表格 就像我制作的这个例子一样 我希望在更新最后一个表时自动填充其他表的行 这样我就可以及时预见费用和收益 通过按日期升序自动排序绿色表 到目前为止 我发
  • python 中的结构体对象

    我想创建一个一次性的 结构 对象来保留各种状态标志 我的第一个方法是这样的 javascript风格 gt gt gt status object gt gt gt status foo 3 Traceback most recent ca
  • 如何在 Docker-Compose 中一起使用主机网络和任何其他用户定义的网络?

    我想将 Docker Compose 文件中定义的两个 Docker 容器相互连接 app and db 其中之一 app 也应该连接到host网络 容器应连接到通用的用户定义网络 appnet or default 使用嵌入式DNS来自
  • 如何在显示模态表时禁用 Cocoa 的默认动画?

    我想禁用 Cocoa 在显示模式表时执行的动画 Apple s 表编程指南 http developer apple com mac library documentation Cocoa Conceptual Sheets Concept
  • MySQL:什么是页面?

    在 MySQL 数据库的上下文中 我一辈子都不记得页面是什么 当我看到 8KB 页之类的内容时 这是否意味着每行 8KB 还是 数据库页是组织数据库文件中数据的内部基本结构 以下是有关 InnoDB 模型的一些信息 From 13 2 11
  • 使用 Apache Pig 的数据透视表

    我想知道是否可以在 Apache Pig 中一次性旋转一张表 Input Id Column1 Column2 Column3 1 Row11 Row12 Row13 2 Row21 Row22 Row23 Output Id Name V