问题标签 [apache-pig]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4555 浏览

hadoop - 将 Pig 与 Hadoop 一起使用时出现“无法创建 DataStorage”错误

我一直在尝试让 Pig 0.9.0 使用 Apache Hadoop 0.20.203.0 运行。我在谷歌和邮件列表中查看了高低,甚至这个问题:cant run pig with single node hadoop server,但我仍然无法让 Pig shell Grunt 在集群设置中运行(我可以运行当然,在本地模式下提示很好)。

我已经尝试了给出的解决方案 - 在没有 hadoop 的情况下重新编译,将 hadoop 库和 pig-withouthadoop.jar 添加到我的 PIG_CLASSPATH 变量中......没有任何效果。我只是得到错误

2011-08-02 10:56:00,709 [main] 错误 org.apache.pig.Main - 错误 2999:意外的内部错误。创建数据存储失败

不完全确定从这里去哪里。我在 Apache Pig 开发网站或其他东西(他们的版本控制网站或其他)上看到了一些关于此的讨论,并且有一些建议的脚本,但我无法弄清楚他的包装脚本在做什么或如何使用它:https://issues.apache.org/jira/browse/PIG-2183。也许解决方案在于那个链接?

我正在运行单节点 hadoop 设置(不是本地模式)...Hadoop 工作正常。

0 投票
1 回答
3163 浏览

hadoop - 使用 loadfunc pig UDF 将 protobuf 格式文件加载到 pig 脚本中

我对猪知之甚少。我有 protobuf 格式的数据文件。我需要将此文件加载到猪脚本中。我需要编写一个 LoadFunc UDF 来加载它。说功能是Protobufloader()

我的 PIG 脚本是

我只想知道如何获取文件输入流。一旦我掌握了文件输入流,我就可以将数据从 protobuf 格式解析为 PIG 元组格式。

PS:提前谢谢

0 投票
1 回答
263 浏览

cassandra - 如何使用 pig 连接到受密码保护的 cassandra

我有一个 cassandra 集群,在 password.properties 文件中设置了用户名和密码,我不知道如何使用 pig 的 CassandraStorage 加载和写入数据到这个集群。没有密码,功能很好。

有什么帮助吗?

0 投票
1 回答
1399 浏览

hadoop - 在 Apache Pig Latin 中转置数据

我需要“转置”如下所示的数据:

至:

每个 id 每个都有三个条目,因此生成的关系将有 4 个字段。我试图避免使用 UDF。有任何想法吗?

0 投票
6 回答
21081 浏览

apache-pig - 将 IN 子句与 PIG FILTER 一起使用

PIG 是否支持 IN 子句?

还是我应该把它分成多个OR?

谢谢!

0 投票
1 回答
3513 浏览

apache-pig - 将分隔字符数组扩展为多个元组

我的关系中的一列包含分隔值(例如 csv),我想将它们分解为这些值,以便我在关系中为每个值都有一个条目(与其他具有原子值的列相结合)。例如,如果我有以下数据:

我希望得到的关系包含:

这可以仅使用 PigLatin 和内置/piggybank UDFS 来完成吗?注意:我有一个涉及我编写的 UDF 的 hacky 解决方案,我想知道这是否可以仅使用 Pig。

0 投票
2 回答
6967 浏览

permissions - Apache Pig 权限问题

我试图让 Apache Pig 在我的 Hadoop 集群上启动并运行,但遇到了权限问题。Pig 本身正在启动并很好地连接到集群——从 Pig shell 中,我可以ls通过和围绕我的 HDFS 目录。但是,当我尝试实际加载数据并运行 Pig 命令时,我遇到了与权限相关的错误:

在这种情况下,all_annotated.txt是我创建的 HDFS 主目录中的一个文件,并且绝对有权限;无论我尝试使用什么文件,都会出现同样的问题load。但是,我不认为这是问题所在,因为错误本身表明 Pig 正在尝试在某处写入。谷歌搜索,我发现一些邮件列表帖子表明某些 Pig Latin 语句(order等)需要对 HDFS 文件系统上的临时目录的写访问权限,该目录的位置由hadoop.tmp.dirhdfsd-site.xml 中的属性控制。我认为不属于 load该类别,但可以肯定的是,我更改hadoop.tmp.dir为指向我的 HDFS 主目录中的一个目录,但问题仍然存在。

那么,有人对可能发生的事情有任何想法吗?

0 投票
6 回答
14989 浏览

eclipse - Eclipse 最好的 Pig 插件是什么?

我即将开始使用 PIG-latin,我希望在 Eclipse 中获得一些文本突出显示等。做一个快速的谷歌搜索,我看到了几个 Eclipse 插件。它们都还在开发中吗?哪个是最好的?

0 投票
2 回答
333 浏览

python - 使用 Python 代码在 Hadoop 中处理整个文件(最好在 Dumbo 中)

这似乎是一个非常常见的用例,但在 Hadoop 中很难做到(可以使用 WholeFileRecordReader 类)。在 Dumbo 或 Pig 中是否有可能?有谁知道使用 Dumbo 或 Pig 将整个文件作为地图任务处理的方法?

0 投票
1 回答
5077 浏览

hadoop - 如何让 Pig 使用 lzo 文件?

所以,我在网上看过几个教程,但每个教程似乎都说要做一些不同的事情。此外,他们每个人似乎都没有指定您是试图让事情在远程集群上工作,还是在本地与远程集群交互,等等......

也就是说,我的目标只是让我的本地计算机(mac)让 pig 使用已经设置为使用 lzo 文件的 Hadoop 集群上存在的 lzo 压缩文件。我已经在本地安装了 Hadoop,并且可以使用 hadoop fs -[command].

当我运行脚本或通过 grunt 运行东西时,我也已经在本地安装了 pig 并与 hadoop 集群通信。我可以很好地加载和播放非 lzo 文件。我的问题只是想办法加载 lzo 文件。也许我可以通过集群的 ElephantBird 实例来处理它们?我不知道,只在网上找到了很少的信息。

因此,任何类型的简短教程或答案都会很棒,希望能帮助更多的人,而不仅仅是我。