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

apache-pig - 带有复杂名称的加载文件的猪问题

我需要在具有长而复杂的名称的猪中加载文件:

猪抱怨:

有谁知道有什么问题?谢谢。

0 投票
2 回答
3538 浏览

hadoop - 您如何处理 Apache Pig 中的空输入文件或丢失的输入文件?

我们的工作流程使用 AWS elastic map reduce 集群来运行一系列 Pig 作业,以将大量数据处理成聚合报告。不幸的是,输入数据可能不一致,并且可能导致没有输入文件或 0 字节文件被提供给管道,甚至由管道的某些阶段生成。

在 LOAD 语句期间,如果 Pig 没有找到任何输入文件或任何输入文件为 0 字节,它就会失败。

有什么好的方法可以解决这个问题(希望在 Pig 配置或脚本或 Hadoop 集群配置中,无需编写自定义加载器......)?

(因为我们使用的是 AWS elastic map reduce,所以我们只能使用 Pig 0.6.0 和 Hadoop 0.20。)

0 投票
1 回答
14666 浏览

hadoop - 对存储在 Hive 中的数据运行 Pig 查询

我想知道如何运行以 Hive 格式存储的 Pig 查询。我已将 Hive 配置为存储压缩数据(使用本教程http://wiki.apache.org/hadoop/Hive/CompressedStorage)。

在此之前,我曾经只是使用带有 Hive 分隔符 (^A) 的普通 Pig 加载功能。但是现在 Hive 将数据存储在经过压缩的序列文件中。使用哪个加载函数?

请注意,不需要像这里提到的那样紧密集成:Using Hive with Pig,只是使用什么加载函数来读取 Hive 生成​​的压缩序列文件。

感谢所有的答案。

0 投票
1 回答
5666 浏览

hadoop - Pig 如何在“加载”语句中使用 Hadoop Glob?

正如我之前提到的,Pig 不能很好地处理空(0 字节)文件。不幸的是,有很多方法可以创建这些文件(甚至在 Hadoop 实用程序中)。

我认为我可以通过使用Hadoop 的 glob 语法在LOAD 语句中显式加载与给定命名约定匹配的文件来解决这个问题。不幸的是,这似乎不起作用,因为即使我使用 glob 过滤到已知良好的输入文件,我仍然遇到前面提到的 0 字节故障。

这是一个示例:假设我在 S3 中有以下文件:

  • mybucket/a/b/ (0 字节)
  • mybucket/a/b/myfile.log (>0 字节)
  • mybucket/a/b/yourfile.log (>0 字节)

如果我在我的猪脚本中使用这样的 LOAD 语句:

我希望 Pig 不会阻塞 0 字节文件,但它仍然会阻塞。让 Pig 实际上只查看与预期 glob 模式匹配的文件是否有技巧?

0 投票
1 回答
627 浏览

java - 在 LoadFunc.getNext() 中跳过一条记录

我正在扩展 LoadFunc。在 getNext 函数中,我想在某些条件下跳过返回元组 - 这样我只能加载数据文件的样本。我尝试为我不想返回的行返回 null,但问题是该方法在返回第一个 null Tuple 后终止。

有谁知道这样做的方法?我应该用不同的方法吗?

提前致谢。

0 投票
1 回答
777 浏览

hadoop - 为什么大象鸟猪 JsonLoader 只处理我文件的一部分?

我在 Amazon 的 Elastic Map-Reduce 上使用 Pig 进行批量分析。我的输入文件位于 S3 上,并且包含由每行一个 JSON 字典表示的事件。我使用大象鸟 JsonLoader 库来解析输入文件。到目前为止,一切都很好。

在交互式 Pig 会话中处理存储在本地文件系统或 hdfs 上的大文件时,我遇到了问题。看起来如果输入文件大到可以拆分,大象鸟只处理过一个拆分,并且在拆分结束时处理停止并且没有错误消息。如果我从 S3 流式传输输入(在 S3 输入上没有文件拆分),或者我将文件转换为 Pig 可以直接读取的格式,我不会遇到同样的问题。

举一个具体的例子:一个有 833,138 行的文件最多只能处理 379,751 行(如果我在 Pig 中观察完成百分比,它会平稳地上升到 50%,然后跳到 100%)。我还尝试了一个包含 400,000 行的文件,并且处理得很好。

所以我的问题是:为什么大象鸟只处理一个拆分?我是否误解了交互模式下的 Pig 应该如何工作,或者发生了什么大错特错?

0 投票
1 回答
2837 浏览

hadoop - Apache Pig 中 linux 'diff' 的等价物

我希望能够对两个大文件进行标准差异。我有一些可以工作的东西,但它不如命令行上的 diff 快。

有人有更好的方法来做到这一点吗?

0 投票
2 回答
566 浏览

sql - 了解 WHERE 子句中的 SQL 连接

我有一个 SQL 查询,我试图将其翻译成 Pig Latin(用于 Hadoop 集群)。大多数时候,我将查询移到 Pig 上没有问题,但我遇到了一些我似乎无法弄清楚的事情。

想象一下这样的 select 语句:

现在,我知道直接翻译为 Pig 可能是不可能的。如果是这种情况,我想知道如何将此语句分解为计算它所需的 JOIN(和过滤器)(因为可能更容易看到如何从中构造一个 Pig 查询)。

我已经访问了 Pig 邮件列表,但我还没有找到一个好的解决方案,因为 Pig 并没有真正对 JOIN 执行“或”操作。我知道这个问题有多奇怪。

(如果有人确实知道如何在 Pig 中完成此操作,我不会反对查看它......)

编辑:有谁知道这在 Hive 中是否会更容易,也许?

0 投票
2 回答
2688 浏览

hadoop - 在 udf 中加载外部属性文件

在编写 UDF 让我们说一个 EvalFunc 时,是否可以传递一个配置文件

在 Hadoop 模式下运行时?

最好的,威尔

0 投票
1 回答
440 浏览

hadoop - cassandra 猪插入异常

我正在使用 pig CassandraStroage() 将一个大数据集插入到 cassandra 中,运行 4 小时后,它崩溃了,出现以下异常:

知道为什么会这样吗?