问题标签 [udf]

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 投票
1 回答
827 浏览

apache-pig - 如何在 Pig UDF 的 exec 函数中获取输入模式

我想知道当我在 Piglatin 中构建 UDF 时如何在 exec() 函数中获取输入模式。我可以从 outputSchema() 函数获取模式,但看起来后端函数无法利用结果。

任何提示将不胜感激!

0 投票
1 回答
1881 浏览

performance - 有什么好的 Pig Accumulator 接口实现的例子吗?

我需要从 HDFS 读取数百万条记录,丰富它们并将它们作为 XML 文件存储在每个 XML 文件的 10K 条记录中。

我一直在尝试使用 Accumulator 接口并将我的 pig.accumulative.batchsize 设置为 2 进行测试。

但是,被调用的方法是“exec()”而不是 Accumulator 的“accumulate”方法。

我的UDF课程大纲如下:

0 投票
1 回答
5141 浏览

java - 从结构数组中提取字段的 GenericUDF 函数

我正在尝试编写一个 GenericUDF 函数来收集每个记录的数组中的所有特定结构字段,并将它们也返回到数组中。

我写了 GenericUDF(如下),它似乎可以工作,但是:

1)当我在外部表上执行此操作时它不起作用,它在托管表上工作正常,知道吗?

2)我很难为此编写测试。我已经附上了到目前为止的测试,但它不起作用,总是得到'java.util.ArrayList cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector' or cannot cast String to LazyString',我的问题是如何为 evalue 方法提供结构列表?

任何帮助将不胜感激。

桌子:

一行记录保持:
1340321132000, 'some_company', [{"productCategory":"footwear"},{"productCategory":"eyewear"}]

这是我的代码:

我的测试:

0 投票
2 回答
113 浏览

apache-pig - 在哪里贡献 Apache Pig UDF?

我在 Apache PIG 中构建了一些 UDF。我想让它们作为开源提供。所以有人可以帮我找出我可以在哪里以及如何发布它们。

0 投票
1 回答
754 浏览

java - 自动增量 UDF 在 hive 中工作,但在 Impala 中返回 null

我创建了一个创建自动增量值的java函数,我还基于这个函数创建了一个hive UDF,它在hive中工作得很好。我基于这个函数创建了一个 Impala UDF,它返回“null”而不是自动增量整数。

这是Java UDF代码:

创建 Hive UDF:

创建 Impala UDF:

在 Hive 和 Impala 中使用它:

非常感谢任何帮助!谢谢你,安娜

0 投票
1 回答
1367 浏览

python - 在 Apache Pig 中使用 Python UDF

我是 Apache Pig 和 Python 的新手。当我尝试在 Pig 中注册 Python 函数时,它给出了一些与 Jython 相关的错误。我的 python 脚本udf1.py将任何字符串转换为大写。

当我尝试在 Grunt shell 中以 Pig 本地模式注册时,它会引发以下错误

我已经导入了 pig_util.py。我是否必须在我的 CDH 中安装与 jython 相关的任何东西?我无法知道错误。

Pig 版本:Apache Pig 版本 0.11.0-cdh4.7.0

使用 PyCharm Community Edition 4.0.4 创建的 Python 脚本

Python 版本:Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36)

0 投票
2 回答
154 浏览

sql - Ad-hoc SQL 和内联函数给出不同的结果

在 MS SQL Server 2012 SP1 中,当我执行时:

我得到一排。现在我写了一个内联函数:

但是当我执行

我没有得到任何结果。知道为什么会这样吗?我考虑过权限问题,但据我所知,我拥有执行该功能的完全权限。

0 投票
2 回答
708 浏览

python - Pig 脚本无法注册 UDF

我有一个简单的 Pig 脚本,它使用我创建的 Python UDF。如果我删除 UDF 部分,脚本就可以完成。但是当我尝试注册我的 UDF 时,我收到以下错误:

这是我的UDF:

这是我的猪脚本:

我正在使用 HUE 来运行 Pig。数据和 UDF 都在同一个 HDFS 位置 (pig_test)。

0 投票
2 回答
290 浏览

postgresql - 用于编码字符串的 UDF 在 psql 和 Perl 中有效,但在 Python 中无效

我在 Postgres 9.4 中编写了一个用户定义的函数来编码字符串:

桌子:

pgadmin 或 psql 中的调用将数据插入到表中:

python 中的调用获取id,但不插入数据:

python脚本的输出:

postgres 中的表是空的。到底是怎么回事?

更新:

以下 perl 脚本有效(所有控制台输出(通知)和表中的行):

数据库配置是非常标准的配置。这些行来自 postgresql.conf(因为它们已被注释掉,所以假定为默认值):

0 投票
2 回答
2721 浏览

hadoop - Hadoop MapReduce java 类中的最佳记录方法是什么?

我编写了在 hadoop(2.1 或 2.2)上运行的类,作为 hive UDF/UDTF 查询的一部分。最终它作为 Map/Reduce 作业运行。该应用程序执行各种任务,我想根据日志级别添加日志记录。

我想知道这样做的最佳方法(或正确方法)是什么。显然,我不希望日志驻留在未收集的数据节点上的某个文件中。我希望 hadoop 收集日志,以便我们能够从工作跟踪器等中心位置查看所有日志。

选项 1:直接的日志记录解决方案 - 打印到 system.out / system.err 我看到很多论坛都提到打印到系统输出或系统错误,但这意味着开发我们自己的带有调试级别的日志记录机制等......

选项 2:使用 hadoop 的 log4j commons logging 其他帖子提到使用 apache commons logging。

我使用它,它可以工作,但我没有修改记录器配置文件的权限。我正在考虑在我的应用程序配置文件中添加一个具有日志级别的功能,并从 java 代码中修改日志级别。顺便说一句,我没有在 pom.xml 中添加对 log4j 的依赖项,而是使用了 hadoop 库附带的依赖项。

如果有人使用此选项,那么您是如何配置记录器的?

选项 3: log4j 2 一些架构师提到我们应该考虑添加 log4j 2 依赖项并使用它。在这方面有什么建议吗?如果 hadoop 使用 log4j,我可以带上自己的 log4j 2 并用它来写入 hadoops 日志吗?

在我继续之前,我想看看是否有人有好的建议。

谢谢。