- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行一个 pig 脚本,如下所示
REGISTER '/home/vishal/FirstUdf.jar';
DEFINE UPPER com.first.UPPER();
A = LOAD '/home/vishal/exampleforPIG1' AS (exchange: chararray, symbol: chararray, date: int,value:float);
B= FOREACH A GENERATE com.first.UPPER(exchange);
DUMP B;
Following is my UDF in java
package com.first;
import java.io.IOException;
import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;
import org.apache.pig.impl.util.WrappedIOException;
@SuppressWarnings("deprecation")
public class UPPER extends EvalFunc<String> {
public String exec(Tuple input) throws IOException {
if (input == null || input.size() == 0)
return null;
try {
String str = (String) input.get(0);
return str.toLowerCase();
} catch (Exception e) {
throw WrappedIOException.wrap(
"Caught exception processing input row ", e);
}
}
}
现在当我尝试运行它时,它给了我以下错误
Pig Stack Trace
ERROR 1066: Unable to open iterator for alias B
org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066: Unable to open iterator for alias B
at org.apache.pig.PigServer.openIterator(PigServer.java:866)
at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:683)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:303)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:190)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166)
at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84)
at org.apache.pig.Main.run(Main.java:430)
at org.apache.pig.Main.main(Main.java:111)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156) Caused by: java.io.IOException: Job terminated with anomalous status FAILED
at org.apache.pig.PigServer.openIterator(PigServer.java:858)
... 12 more
为什么在 pig 脚本中它不能为 B 打开一个迭代器,即(它不能为下一行分配一个迭代器)
B = FOREACH A GENERATE com.first.UPPER(exchange);
'exampleforPIG1' 文件有以下数据
NYSE CPO 2009-12-30 0.14
NYSE CPO 2009-09-28 0.14
NYSE CPO 2009-06-26 0.14
NYSE CPO 2009-03-27 0.14
NYSE CPO 2009-01-06 0.14
NYSE CCS 2009-10-28 0.414
NYSE CCS 2009-07-29 0.414
..
..
etc
最佳答案
有两件事,
如果您只想转换为大写/小写,为什么不使用内置函数 UPPER/LOWER。您可以在引用手册中找到用法。
如果您想继续使用相同的方法,应该是
B = FOREACH A GENERATE UPPER(交换);
您已经将其定义为 DEFINE UPPER com.first.UPPER();
关于user-defined-functions - 错误 1066 : Unable to open iterator for alias in pig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15546402/
我会在 Cmder 的另一个别名中使用别名。 我有一个很好的别名(第一个)到一个大命令,我会在另一个(第二个)中使用它: mergelocdist=git fetch origin --prune -
我正在尝试让 cgi 在我的本地主机服务器上工作。 首先我添加了虚拟本地主机。 我有 conf 文件/etc/apache2/sites-available/myage.com.conf这是这个文件的
有什么区别: 从'utils'导入utils 和 从“utils”导入 * 作为 utils? 情况 A: //utils.js export function doSomething() { //.
我用 MySQL 试过这个: DELETE FROM `contact_hostcommands_relation` AS `ContactHostCommand` WHERE (`ContactHo
我正在为一个学校项目使用 NodeJS 和 Sequelize,我正在努力与 sequelize 工作建立联系。我之前尝试过一些东西,但没有一个让我开心。 基本上,一个用户可以拥有多个播放列表 (ha
除了 Set-Alias能够更改现存的别名,这些命令之间有什么区别? 为什么会有人用New-Alias在 Set-Alias ? 最佳答案 使用 new-alias 的一个(唯一的?)优势是当您覆盖现
假设 bash 配置了以下别名: alias up="git --git-dir /path/to/backup/.git" 那个特定的存储库 - 并且只有那个存储库 - 具有以下 git 别名: [
我的Sql查询是 Select a.sum_total FROM OneWayNetTransactionRes a LEFT OUTER JOIN OneWayNetTransactionRes b
我可能以错误的方式寻找这个,但有一件事我不明白: select max(dateofbirth) -5 from person; 因此,上面的示例为我提供了任何人的最大日期减去 5 天,正如我所期望的
我有一个 Lambda,它有许多版本,并为每个版本创建了别名。这是一个例子 Apple_Version_1 Apple_Version_1.1 Apple_Version_1.2 Apple_Vers
我使用 win32com 库在本地获取邮件,但现在我使用 Exchangelib 来执行相同的操作,但我找不到与此等效的函数(item.sender.getExchangerUser().Alias)
在我的 .bashrc 文件中,我放入了以下两行: alias foo1="echo $1" alias foo2="echo '$1'" 然后,在终端中,我得到以下输出: $ foo1 hello
只要代码有更新,我就会发布新版本,并为该版本创建别名。但以前的别名在新版本中消失了 这是我的 YAML 模板片段 Description: Publish a new version of a
在我的 Django 项目中,我试图将数据库字段从 OneToOne 更改为foreignKey。当我运行“python manage.py migrate”时,它会因一个长回溯而中断,并以我在标题中
我有一个关于记录的问题:假设我有一个接收记录的函数,如下所示: getId : { file | id : String } -> String getId file = file.id 我可以传递这
我写了这样的语法: grammar StatementFormat { token TOP { ( | '%' )* } token plain { } token plac
这个问题在这里已经有了答案: Creating permanent executable aliases (4 个回答) 8年前关闭。 例如,如果您创建别名: alias cls="clear" 它存
我在我的 iPhone 应用程序中查看一些动画,感觉它有点难看。然后我明白了:它只是不通过子像素状态进行动画处理。 所以,如果我使用通常的+beginAnimations/+commitAnimati
在Elastic / Elasticsearch网站上的Faking Index per User article中,建议对多个(数千个)客户端使用单个索引,并使用过滤器别名以不可见的方式分离其数据。
这可能是一个无聊的问题,但我无法找到我完全理解以下查询的答案。 我搬到了一个新的研究所,我正在访问虚拟机进行研究。我想创建一个方便的 bashrc 让生活更轻松。 因此,使用以下内容编辑 ~/.bas
我是一名优秀的程序员,十分优秀!