group by 之后的拉丁猪袋到元组

2024-03-13

我有以下带有架构的数据(t0: chararray,t1: int,t2: int)

(B,4,2)
(A,2,3)
(A,3,2)
(B,2,2)
(A,1,2)
(B,1,2)

我想生成以下结果(按 t0 分组,并按 t1 排序)

(A, ((1,2),(2,3),(3,2)))
(B, ((1,2),(2,2),(4,2)))

请注意,我只想要第二个组件中的元组,而不是包。请帮忙。


你应该能够这样做。

-- A: (t0: chararray,t1: int,t2: int)

B = GROUP A BY t0 ;
C = FOREACH B {
            -- Project out the first column of A.
            projected = FOREACH A GENERATE t1, t2 ;
            -- Now you can order the projection.
            ordered = ORDER projected BY t1 ;
    GENERATE group AS t0, ordered AS vals ;
}

您可以阅读有关嵌套的更多信息FOREACHs here http://pig.apache.org/docs/r0.10.0/basic.html#nestedblock.

注意/更新:看来当我最初回答这个问题时,我错过了询问者要求输出采用元组形式的部分。仅当您知道元组中字段的确切数量和位置时才应使用元组。否则,您的模式将不会被定义,它将被very很难进入田野。这是因为整个元组将被视为字节数组,因此您必须手动查找并cast http://pig.apache.org/docs/r0.12.1/basic.html#cast一切。

如果你必须这样做,你就不能在纯猪身上这样做。你必须使用某种UDF http://pig.apache.org/docs/r0.12.1/udf.html去做这个。我会推荐Python。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

group by 之后的拉丁猪袋到元组 的相关文章

  • Cygwin 和 Apache Pig - 令人困惑的伪 grunt>

    我正在尝试在运行 Vista 操作系统的 Windows PC 上安装 Apache Pig 以便将其用作学习工具 我不打算在这台机器上使用 Pig 进行任何严肃的数据处理 单节点 单 JVM x local设置是我想要的 我有 Windo
  • Pig 脚本:加入多个文件

    我正在读取一个大文件 超过十亿条记录 并将其与其他三个文件连接 我想知道是否可以使该过程更有效 以避免在大表上进行多次读取 小表可能不适合记忆 A join smalltable1 by f1 f2 RIGHT OUTER massive
  • Pig默认JsonLoader架构问题

    我有以下需要使用 Pig 解析的数据 Data Name BBQ Chicken Sizes Size Large Price 14 99 Size Medium Price 12 99 Toppings Barbecue Sauce Ch
  • Pig 相当于 SQL GREATEST / LEAST?

    我试图找到相当于猪SQL 函数GREATEST and LEAST 这些函数是聚合 SQL 函数的标量等效项MAX and MIN 分别 本质上 我希望能够这样说 x LOAD file a b c csv USING PigStorage
  • 在 Pig 中提取 CSV 文件的第一行

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

    有没有办法做到这一点 例如 传递要处理的文件的名称等 这出现在另一个问题 https stackoverflow com questions 3515481 pig latin load multiple files from a date
  • 对相关包进行排序

    我有一个 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 项目 并
  • 如何加载hive表中的多行列数据?具有换行符的列

    我在 Excel 文件中有一个列 不是最后一列 其中包含跨越几行的数据 列的某些单元格为空白 有些单元格具有单行条目 当保存为 CSV 文件或制表符分隔 txt 与 Excel 时 所有多行数据和少数单行条目都会在双引号中生成 所有空白字段
  • 运行 HCatalog 时出错

    A LOAD eventnew txt USING HCatalogLoader 2015 07 08 19 56 34 875 主要 错误 org apache pig tools grunt Grunt 错误 1070 无法使用导入解析
  • Pig 和 Hive 之间的区别?为什么两者都有? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我的背景 进入 Hadoop 世界已经 4 周了 使用 Cloudera 的 Hadoop VM 涉足 Hive Pig 和 Hadoop 读过
  • Pig FILTER 返回我数不清的空袋子

    我正在尝试计算数据集中有多少个值与过滤条件匹配 但当过滤器不匹配任何条目时 我遇到了问题 我的专栏里有很多data结构 但本例中只使用了三个 key 该集合的数据键 不是唯一的 value 记录的浮点值 nominal value 代表标称
  • Apache Pig:无法运行我自己的pig.jar 和pig-withouthadoop.jar

    我有一个运行 Hadoop 0 20 2 和 Pig 0 10 的集群 我有兴趣向 Pig 的源代码添加一些日志 并在集群上运行我自己的 Pig 版本 我做了什么 使用 ant 命令构建项目 有pig jar和pig without had
  • 使用 Pig 中的elephantbird 进行 Json 解析

    我无法在 Pig 中解析以下数据 这是 Twitter API 在获取某个用户的所有推文后返回的内容 源数据 我删除了一些数字 以免无意中侵犯任何人的隐私 created at Sat Nov 01 23 15 45 0000 2014 i
  • group by 之后的拉丁猪袋到元组

    我有以下带有架构的数据 t0 chararray t1 int t2 int B 4 2 A 2 3 A 3 2 B 2 2 A 1 2 B 1 2 我想生成以下结果 按 t0 分组 并按 t1 排序 A 1 2 2 3 3 2 B 1 2
  • 处于咕噜模式的猪

    我在windows中安装了cygwin hadoop和pig 配置看起来不错 因为我可以在批处理和嵌入模式下运行 Pig 脚本 当我尝试以 grunt 模式运行 pig 时 发生了一些奇怪的事情 让我解释 我尝试运行一个简单的命令 例如 g
  • 使用 PIG 从 Hive 表解析嵌套 XML 字符串

    我正在尝试使用 PIG 从 Hive 表中的字段而不是从 XML 文件中提取一些 XML 这是我读过的大多数示例的假设 XML 来自排列如下的表 ID XML string XML 字符串包含 n 行 始终包含最多 10 个属性中的至少一个
  • Pig - 使用正则表达式解析字符串

    我被困在 Pig 中的字符串解析上 我查看了周围的文档regex extract and regex extract all并希望使用其中一项功能 我有文件 logs test log cat logs test log user 2425
  • 猪如何过滤不同的对(对)

    我是猪的新手 我有一个 Pig 脚本 它在两个元素之间生成制表符分隔的对 每行一对 例如 John Paul Tom Nik Mark Bill Tom Nik Paul John 我需要过滤掉重复的组合 如果我使用 DISTINCT 我会
  • 逃离 Pig 中的美元符号?

    这在 0 9 2 中不是问题 但在 0 10 中 当我尝试访问地图中带有美元符号的键时 我会遇到没有定义变量的错误 具体来说 blah FOREACH meh GENERATE source json post id id AS post

随机推荐