问题标签 [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 回答
648 浏览

hadoop - 使用 hadoop/pig 从日志中提取相似用户

作为我们启动产品的一部分,我们需要计算“相似用户特征”。我们决定和猪一起去。我已经学习猪几天了,了解它是如何工作的。所以从这里开始是日志文件的样子。

由于用户和 url 的数量可能很大,我们不能在这里使用暴力破解方法,所以首先我们需要找到至少可以访问公共 url 的用户。

该算法可以拆分如下:

  1. 查找所有访问过一些常用 url 的用户。
  2. 为访问的每个资源生成所有用户的成对组合。
  3. 对于每一对 and 和 url,计算这些用户的相似度:相似度取决于访问之间的时间间隔(因此我们需要跟踪时间)。
  4. 总结每个pair-url的相似性。

这是我到目前为止所写的:

我知道这还不算多,但现在我不知道如何生成对或进一步移动。所以任何帮助将不胜感激。

谢谢。

0 投票
1 回答
2029 浏览

hadoop - Hadoop PIG 输出未使用 PARALLEL 运算符拆分为多个文件

看起来我错过了什么。我的数据上的 reducer 数量在 HDFS 中创建了那么多文件,但我的数据没有分成多个文件。我注意到的是,如果我group by对按顺序排列的键执行 a 操作,它可以正常工作,就像下面的数据根据​​键很好地分成两个文件:

但是这个数据没有分裂:

我使用的代码适用于一个而不适用于另一个是

上面的代码创建了两个输出部分文件,但在第一个输入中,它很好地分割了数据并将 key 1inpart-r-00000和 key 2in 放入part-r-00001。但是对于第二个输入,它会创建两个部分文件,但所有数据都以part-r-00000. 我缺少什么,我该怎么做才能根据唯一键将数据拆分为多个输出文件?

注意:对于第二个输入,如果我使用PARALLEL 3(3 个减速器),它会创建三个部分文件并添加所有输入数据和输入文件1part-0所有数据。我发现这种行为很奇怪。顺便说一句,我正在使用 Cloudera CDH3B4。3part-3

0 投票
1 回答
817 浏览

cassandra - 带有 cassandra 的命令行

如何在 Cassandra PIG 脚本中将值作为命令行参数传递。

下面一行是执行 PIG 脚本的语法

{apache-cassandra-0.4.0-src 路径}/contrib/pig/bin/pig_cassandra –param 参数 = 值 script.pig

然后我收到以下错误 [main] INFO org.apache.pig.Main - 将错误消息记录到:/home/ec2-user/apache-cassandra-0.7.4-src/contrib/pig/pig_1302092850679.log [main]错误 org.apache.pig.Main - 错误 2999:意外的内部错误。在命令行上遇到意外参数 - 请检查命令行。日志文件中的详细信息:/home/ec2-user/apache-cassandra-0.7.4-src/contrib/pig/pig_1302092850679.log

提前致谢

0 投票
2 回答
412 浏览

hadoop - 对大型动态数据集进行分析查询

我有一个要求,我有大量传入数据到我拥有的系统中。

该集合中的单个数据单元具有一组附加的不可变属性 + 状态。状态是动态的,可以随时更改。

要求如下——

  1. 大型数据集可能会经历状态变化。更新需要快速。
  2. 我应该能够聚合以各种属性为中心的数据。
  3. 理想情况下 - 应该有一种方法可以将单个数据单元与聚合结果相关联,即我想深入研究产生某种聚合的特定事务。(我知道这里的竞争条件,例如在执行聚合后数据单元的状态发生变化;但这是意料之中的)。
  4. 所有聚合都是基于时间的 - 即在一天、2 天、一周、一个月等中枢轴 y 上的 x 总和。

我正在评估不同的技术来满足这些用例,并想听听您的建议。我查看了适合分析/聚合用例的 Hive/Pig。但是,我担心随时可能进入系统的大量更新。与索引数据库(sql 或 nosql)相比,我不确定这在 HDFS 文件上的表现如何。

0 投票
1 回答
3789 浏览

java - 无法构建 piggybank -> /home/build/ivy/lib 不存在

嘿,我按照这里的步骤操作:http : //wiki.apache.org/pig/PiggyBank 来构建 piggybank jar,但我不断得到下面的输出。我还从源代码构建了 pig 项目,并在我的 .bash_profile 中引用了它:

这是我的 bash_profile:

** 更新 ** Wiki 页面上的文档不正确,现在看来是正确的:http ://wiki.apache.org/pig/PiggyBank

按照新的说明,你应该没问题

0 投票
2 回答
1099 浏览

python - Hadoop pig latin 无法通过 python 脚本流式传输

我有一个简单的 python 脚本(moo.py),但我正在尝试流式传输

我尝试运行这个猪脚本

当我在本地运行这个猪脚本(pig -x local)时一切都很好,但是当我在没有 -x local 的情况下运行它时,它会打印出这个错误

[main] 错误 org.apache.pig.tools.grunt.Grunt - 错误 2017:创建作业配置的内部错误。

[日志文件]

原因:java.io.FileNotFoundException:文件 moo.py 不存在。

任何的想法?

0 投票
2 回答
16219 浏览

apache-pig - strsplit 问题 - 猪

我有以下元组 H1,我想将其 $0 拆分为元组。但是我总是收到一条错误消息:

ERROR 1000:解析时出错。第 1 行第 40 列出现词法错误。遇到:后:"\";"

有人知道脚本有什么问题吗?

0 投票
1 回答
2221 浏览

apache-pig - 猪:如何拆分数组

我有一个这样的元组:

最后一个数字是item的频率,所以item114有freq。1,项目 81 有频率。2,现在我想将它拆分为格式的元组:(项目#,频率。),所以结果将是:

我怎样才能做到这一点?谢谢。

0 投票
2 回答
453 浏览

hadoop - 如何从 Pig 中的关系生成自定义模式?

我有一个描述各种文章中单词的 tf-idf 值的模式。它的描述如下:

以下是此类数据的示例:

我想以一种形式获得输出:cat article_one 0.13515503603605478,article_two 0.4054651081081644 等等。问题是,我如何从中建立一个包含单词字段和 id 和 tfidf 字段元组的关系?像这样:

不起作用。什么是正确的语法?

0 投票
1 回答
726 浏览

apache-pig - PIG:如何将 2 个关系合二为一

我有两个关系:

我怎样才能将这两者合二为一,如下所示:

谢谢!