strsplit 问题 - Pig

2024-02-29

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

DUMP H1:
(item32;item31;,1)

m = FOREACH H1 GENERATE STRSPLIT($0, ";", 50);

ERROR 1000:解析期间出错。第 1 行第 40 列有词汇错误。 遇到:之后:“\”;“

有人知道剧本出了什么问题吗?


当猪解析例程遇到这个分号时,存在转义问题。

您可以对分号使用 unicode 转义序列:\u003B。但是,这也必须进行斜杠转义并放入单引号字符串中。或者,您可以根据尼尔的回答,在多行上重写命令。在所有情况下,这必须是单引号字符串。

H1 = LOAD 'h1.txt' as (splitme:chararray, name);

A1 = FOREACH H1 GENERATE STRSPLIT(splitme,'\\u003B'); -- OK
B1 = FOREACH H1 GENERATE STRSPLIT(splitme,';');       -- ERROR
C1 = FOREACH H1 GENERATE STRSPLIT(splitme,':');       -- OK
D1 = FOREACH H1 {                                     -- OK
    splitup = STRSPLIT( splitme, ';' );
    GENERATE splitup;
}

A2 = FOREACH H1 GENERATE STRSPLIT(splitme,"\\u003B"); -- ERROR
B2 = FOREACH H1 GENERATE STRSPLIT(splitme,";");       -- ERROR
C2 = FOREACH H1 GENERATE STRSPLIT(splitme,":");       -- ERROR
D2 = FOREACH H1 {                                     -- ERROR
    splitup = STRSPLIT( splitme, ";" );
    GENERATE splitup;
}

Dump H1;
(item32;item31;,1)

Dump A1;
((item32,item31))

Dump C1;
((item32;item31;))

Dump D1;
((item32,item31))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

strsplit 问题 - Pig 的相关文章

  • Pig:使用外部模式文件加载数据文件

    我有一个数据文件和相应的架构文件存储在不同的位置 我想使用架构文件中的架构加载数据 我尝试使用 A LOAD
  • 如何从 PIG 中生成的包(其大小可能会有所不同)中提取第一个元组?

    我正在生成一个信息 包 其大小 包内元组的数量 可能会有所不同 由此 我想动态提取第一个元素 我该怎么做呢 使用DataFu UDF FirstTupleFromBag http datafu incubator apache org do
  • Pig 相当于 SQL GREATEST / LEAST?

    我试图找到相当于猪SQL 函数GREATEST and LEAST 这些函数是聚合 SQL 函数的标量等效项MAX and MIN 分别 本质上 我希望能够这样说 x LOAD file a b c csv USING PigStorage
  • Pig、Cassandra 和 DataStax 拆分控制

    我一直在使用 Pig 和我的 Cassandra 数据来完成各种令人惊奇的分组壮举 而这些壮举几乎不可能用命令式的方式编写 我正在使用 DataStax 的 Hadoop 和 Cassandra 集成 我不得不说它令人印象深刻 向那些家伙致
  • 从其他 Pig 脚本调用 Pig Latin 脚本

    我有一个关于 PIG Latin 的问题 有什么方法可以从另一个猪脚本中调用某个猪脚本吗 我知道可以运行用户定义的函数 UDF 例如 REGISTER myudfs jar A LOAD student data AS name chara
  • 是否可以将参数值传递给 UDF 构造函数?

    我编写了一个带有构造函数参数的 UDF 我已经成功初始化并使用它grunt as grunt gt register mylib jar grunt gt define Function com company pig udf MyFunc
  • 在 Pig 中删除单列

    我正在按大约 20 个 ID 的列表过滤表 现在我的代码如下所示 A LOAD ids txt USING PigStorage B LOAD massive table USING PigStorage C JOIN A BY 0 B B
  • Hadoop Pig:传递命令行参数

    有没有办法做到这一点 例如 传递要处理的文件的名称等 这出现在另一个问题 https stackoverflow com questions 3515481 pig latin load multiple files from a date
  • 如何加载hive表中的多行列数据?具有换行符的列

    我在 Excel 文件中有一个列 不是最后一列 其中包含跨越几行的数据 列的某些单元格为空白 有些单元格具有单行条目 当保存为 CSV 文件或制表符分隔 txt 与 Excel 时 所有多行数据和少数单行条目都会在双引号中生成 所有空白字段
  • 使用各种语言在 Hadoop 中运行作业的优缺点是什么?

    到目前为止 我一直使用 Pig 或 Java 进行 MapReduce 专门针对 Hadoop 集群运行作业 我最近尝试通过 Hadoop 流使用 Python Map Reduce 这也很酷 所有这些对我来说都有意义 但我对何时想要使用一
  • PIG UDF 处理多行元组拆分为不同的映射器

    我有一个文件 其中每个元组跨越多行 例如 START name Jim phone 2128789283 address 56 2nd street New York USA END START name Tom phone 6308789
  • 在 hadoop 中使用 Pig 中的正则表达式

    我有一个包含用户 tweetid tweet userid 的 CSV 文件 396124436476092416 Think about the life you livin but don t think so hard it hurt
  • 从udf访问hdfs文件

    我想通过 udf 调用访问文件 这是我的脚本 files LOAD docs in USING PigStorage AS id stopwords id2 file buzz FOREACH files GENERATE pigbuzz
  • 可以使用 PIG 读取的文件格式

    使用PIG可以读取哪些类型的文件格式 如何以不同的格式存储它们 假设我们有 CSV 文件 我想将其存储为 MXL 文件 如何做到这一点 每当我们使用 STORE 命令时 它都会创建目录并将文件存储为part m 00000 我如何更改文件名
  • 如何用猪拉丁语组合/连接两个袋子

    我有两个数据集 A uid url B uid url 现在我做了一个cogroup C COGROUP A BY uid B BY uid 我想将 C 更改为 group AS uid DISTINCT A url B url 我的问题是
  • Pig FILTER 返回我数不清的空袋子

    我正在尝试计算数据集中有多少个值与过滤条件匹配 但当过滤器不匹配任何条目时 我遇到了问题 我的专栏里有很多data结构 但本例中只使用了三个 key 该集合的数据键 不是唯一的 value 记录的浮点值 nominal value 代表标称
  • 使用loadfunc pig UDF将protobuf格式文件加载到pig脚本中

    我对猪的了解很少 我有 protobuf 格式的数据文件 我需要将此文件加载到 Pig 脚本中 我需要编写一个 LoadFunc UDF 来加载它 说函数是Protobufloader 我的 PIG 脚本是 A LOAD abc proto
  • Pig:如何将数据连接到嵌套包中的键上

    我只是想合并来自的值data2 to data1 on the value1 value2 两者中都可见的键data1 and data2 注意嵌套结构 容易吧 在面向对象的代码中 它是一个嵌套的 for 循环 但在 Pig 中 感觉就像解
  • 猪如何过滤不同的对(对)

    我是猪的新手 我有一个 Pig 脚本 它在两个元素之间生成制表符分隔的对 每行一对 例如 John Paul Tom Nik Mark Bill Tom Nik Paul John 我需要过滤掉重复的组合 如果我使用 DISTINCT 我会
  • 如何在 Scala 中编写 Pig UDF

    我正在尝试在 Scala 中编写 Pig UDF 使用 Eclipse 我已将 pig jar 添加为 java 构建路径中的库 这似乎解决了以下 2 个导入问题 导入 org apache pig EvalFunc 导入 org apac

随机推荐