带字符串的猪代数

Posted

技术标签:

【中文标题】带字符串的猪代数【英文标题】:Pig algebraic with strings 【发布时间】:2013-03-13 16:31:41 【问题描述】:

我需要编写一个接口,将包中的单个项目折叠成一个字符串。示例:(a),(b) 转换为 ab。

首先,代数接口可以用于返回字符串还是仅限于整数(Long)。

其次,有没有一个地方可以让我访问一些使用代数的示例(除了我随处可见的 COUNT 示例)。

如果 Algebraic 可用于处理字符串,请回答并告诉我是否有一个可以查看现有 UDF 代码的好地方(不是那些完全解决我的问题的代码)。

这些是我尝试过的:

    谷歌搜索任何适用于袋子的 UDF 代码。除了随处发布的 COUNT 示例之外,什么也得不到 在 Pig 中尝试不同的选项。显然你不能取消引用一个包里的个别物品,这很糟糕。

【问题讨论】:

@ElKamina *** 适用于卡在某个地方的人,而不是在整个任务开始时。我想这还是可以的,如果你开始做某事并寻求帮助以确定哪种技术更好以及为什么更好。但是要凭空解决问题……不。 @CsBalazsHungary 我卡住了。过去一天我一直在谷歌搜索以在互联网上找到任何资源。此外,我正在尝试通过 pig 脚本执行的各种选项,但这些选项不起作用。 @ElKamina 那么您真的应该编辑您的问题,添加您尝试过的内容以及无效的内容。 对这个问题投了赞成票,它正在接近问题(而且你有幽默感),你看到了什么,有什么错误,死胡同吗?什么是你不能更进一步的地方? 【参考方案1】:

我终于明白了:

    如果您的问题可以通过 JOIN 像 GROUP 一样有效地解决,那么您应该这样做。 GROUP 制作的袋子更难处理。

    您没有义务使用 ALGEBRAIC 来处理行李。相反,您可以只编写一个 EVAL UDF。但是,如果您的包很大,它会慢得多。

【讨论】:

以上是关于带字符串的猪代数的主要内容,如果未能解决你的问题,请参考以下文章

java中怎么将字符串(带运算符号加减乘除)转换成代数算式运算

如何在我的猪脚本中设置多行字符串?

文本消息中字符串的猪计数出现

EMR 上的猪:如何在 EXTRACT 函数的正则表达式参数中包含分号

删除匹配模式的猪目录

线性代数带未知数的矩阵变化