逃离 Pig 中的美元符号?

2024-05-19

这在 0.9.2 中不是问题,但在 0.10 中,当我尝试访问地图中带有美元符号的键时,我会遇到没有定义变量的错误。具体来说:

blah = FOREACH meh GENERATE source, json_post_id#'$id' AS post_id;

returns

Undefined parameter : id

这很好并且有道理,但是当我将其修改为:

blah = FOREACH meh GENERATE source, json_post_id#'\$id' AS post_id;

I get:

Unexpected character '$'

Ideas?

[编辑] 忘记提及:也尝试过使用 2 个反斜杠和 3 个反斜杠。没有骰子。 [/编辑]


  1. 基于对您的邮件存档发布的回复 http://www.mail-archive.com/user@pig.apache.org/msg06997.html,看起来“当使用 Grunt shell 并将其作为脚本运行时,行为会有所不同”。

    输入文件

    cheolsoo@localhost:~/workspace/pig-svn $cat 1.txt $id,a
    

    咕噜外壳

    The $没有反斜杠的作品:

    grunt> A = LOAD '1.txt' USING PigStorage(',') AS (k:chararray,
    v:chararray); grunt> B = FOREACH A GENERATE TOMAP(k, v) AS M; grunt> C
    = FOREACH B GENERATE M#'$id'; grunt> DUMP C; (a)
    

    Script

    The $使用单个反斜杠可以工作:

    cheolsoo@localhost:~/workspace/pig-svn $cat test.pig A = LOAD '1.txt' 
    USING PigStorage(',') AS (k:chararray, v:chararray); B = FOREACH A
    GENERATE TOMAP(k, v) AS M; C = FOREACH B GENERATE M#'\$id'; DUMP C;
    
    cheolsoo@localhost:~/workspace/pig-svn $./bin/pig -x local test.pig
    (a)
    
  2. 另外,从分割字符串的猪问题(STRSPLIT) https://stackoverflow.com/questions/5670249/pig-problem-with-split-stringstrsplit,您是否尝试过以下任一操作。

    • 正确转义字符u0024。使用单引号或双引号测试 single,看看是否有区别。这个答案表明单引号有区别 https://stackoverflow.com/a/7854861/1085891你有,但值得一提。

    • 或者,虽然相关,将循环分解为块 https://stackoverflow.com/a/6832401/1085891.

      blah = FOREACH meh {
          GENERATE source, json_post_id#'$id' AS post_id; 
      }
      
  3. 看起来你正在连接一个id。确保您不应该使用CONCAT(). http://pig.apache.org/docs/r0.10.0/func.html#concat http://pig.apache.org/docs/r0.10.0/func.html#concat

  4. 根据Class PigStorage文档(Pig 0.10.0 API) http://pig.apache.org/docs/r0.10.0/api/org/apache/pig/builtin/PigStorage.html:

    使用字符分隔符将一行输入解析为字段的加载函数。默认分隔符是制表符。您可以将任何字符指定为文字 ("a")、已知的转义字符 ("\t") 或十进制或十六进制值 ("\u001"、"\x0A")。

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

逃离 Pig 中的美元符号? 的相关文章

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

    我有一个数据文件和相应的架构文件存储在不同的位置 我想使用架构文件中的架构加载数据 我尝试使用 A LOAD
  • 左填充猪中的一根绳子

    我想用 0 s 填充字符串数据类型字段 有什么办法可以做到这一点吗 我需要有固定长度 40 值 提前致谢 千里眼 零的数量需要根据剩余字符串的长度动态生成 所以我认为这在本地猪中是不可能的 这在 UDF 中是很有可能的 输入 txt 111
  • 在 Pig 中的 ToDate(unix) 中指定时区

    在我的数据集中 我有 Unix 时间戳中的日期 我想将它们转换为 Apache Pig 中的日期时间 为此我可以使用ToDate 功能如所描述here 不过我知道我的 Unix 时间戳是 GMT UTC 但是使用转换ToDate 将导致我当
  • Pig、Cassandra 和 DataStax 拆分控制

    我一直在使用 Pig 和我的 Cassandra 数据来完成各种令人惊奇的分组壮举 而这些壮举几乎不可能用命令式的方式编写 我正在使用 DataStax 的 Hadoop 和 Cassandra 集成 我不得不说它令人印象深刻 向那些家伙致
  • 是否可以将参数值传递给 UDF 构造函数?

    我编写了一个带有构造函数参数的 UDF 我已经成功初始化并使用它grunt as grunt gt register mylib jar grunt gt define Function com company pig udf MyFunc
  • Hadoop Pig:传递命令行参数

    有没有办法做到这一点 例如 传递要处理的文件的名称等 这出现在另一个问题 https stackoverflow com questions 3515481 pig latin load multiple files from a date
  • 无法构建 Piggybank -> /home/build/ivy/lib 不存在

    嘿 我按照这里的步骤操作 http wiki apache org pig PiggyBank http wiki apache org pig PiggyBank构建存钱罐罐子 但我不断得到下面的输出 我还从源代码构建了 pig 项目 并
  • 关于 LoadFunc 的示例和更多说明

    在哪里可以找到有关 LoadFunc 的更多信息 示例 除了http web archive org web 20130701024312 http ofps oreilly com titles 9781449302641 load an
  • 运行 HCatalog 时出错

    A LOAD eventnew txt USING HCatalogLoader 2015 07 08 19 56 34 875 主要 错误 org apache pig tools grunt Grunt 错误 1070 无法使用导入解析
  • 在 hadoop 中使用 Pig 中的正则表达式

    我有一个包含用户 tweetid tweet userid 的 CSV 文件 396124436476092416 Think about the life you livin but don t think so hard it hurt
  • PIG 中的 GROUP 和 COGROUP 有什么区别?

    我知道 Group 不能处理多个元组 因此我们在 PIG 中有 COGROUP 然而 今天检查时 GROUP 命令对我有用 我正在使用 PIG 0 12 0 我的命令和输出如下 grunt gt grpvar GROUP C by 2 B
  • 注册的elephantbird仍然显示错误2998

    grunt gt register home piyush Desktop pro json simple 1 1 1 jar grunt gt register home piyush Desktop pro elephant bird
  • 合并 Pig 中的两行

    我想为下面的查询编写一个猪脚本 输入是 ABC DEF GHI JKL MNO PQR STU VWX 输出应该是 ABC DEF GHI JKL MNO PQR STU VWX 有人可以帮我吗 使用土猪很难解决这个问题 一种选择是下载da
  • Apache Pig:无法运行我自己的pig.jar 和pig-withouthadoop.jar

    我有一个运行 Hadoop 0 20 2 和 Pig 0 10 的集群 我有兴趣向 Pig 的源代码添加一些日志 并在集群上运行我自己的 Pig 版本 我做了什么 使用 ant 命令构建项目 有pig jar和pig without had
  • 使用loadfunc pig UDF将protobuf格式文件加载到pig脚本中

    我对猪的了解很少 我有 protobuf 格式的数据文件 我需要将此文件加载到 Pig 脚本中 我需要编写一个 LoadFunc UDF 来加载它 说函数是Protobufloader 我的 PIG 脚本是 A LOAD abc proto
  • 运行 Pig 脚本时的堆空间问题

    我正在尝试执行包含大约 3000 万数据的 Pig 脚本 但收到以下堆空间错误 gt ERROR 2998 Unhandled internal error Java heap space gt gt java lang OutOfMemo
  • 将文件夹名称添加到输出 Pig Latin

    我在 HDFS 中有下一个目录结构 logs folder 2021 03 01 log1 log2 log3 2021 03 02 log1 log2 2021 03 03 log1 log2 日志由文本数据组成 数据中没有日期 因为它已
  • 猪如何过滤不同的对(对)

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

    这在 0 9 2 中不是问题 但在 0 10 中 当我尝试访问地图中带有美元符号的键时 我会遇到没有定义变量的错误 具体来说 blah FOREACH meh GENERATE source json post id id AS post
  • PIG:从分组包中取出所有元组

    我使用 PIG 从元组生成组 如下所示 a1 b1 a1 b2 a1 b3 gt a1 b1 b2 b3 这很容易并且有效 但我的问题是得到以下内容 从获得的组中 我想生成组包中所有元组的集合 a1 b1 b2 b3 gt b1 b2 b1

随机推荐

  • NSURL URLWithString:引发异常

    简而言之 NSURL URLWithString 似乎引发了一个例外 根据文档 如果字符串格式错误 则返回 nil 没有提到在任何情况下都会引发异常 除此之外 我还对 URL 进行编码并检查nil在将字符串转换为 URL 之前 任何人都可以
  • 使用 PHP 中的 GD 库在图像上绘图

    我创建了一个代码来生成随机图案图像 它创建一个具有给定宽度和高度的图像 并用 40x40 像素的小矩形填充它 这是我的代码
  • org.jdesktop.application 包不存在

    几天以来我一直在构建一个 Java 桌面应用程序 一切都很顺利 但是今天 当我打开Netbeans并编译文件时 出现以下编译错误 Compiling 9 source files to C Documents and Settings Ad
  • Android 设备上的静默安装

    我已经接受了一段时间了 在 Android 上静默安装应用程序是不可能的 也就是说 让程序安装捆绑为 APK 的应用程序 而不提供标准操作系统安装提示并完成应用程序安装程序活动 但现在我已经拿到了 Appbrain 快速网络安装程序的副本
  • 类型约束

    我有以下类层次结构 class Header IEnumerable
  • 为什么 Visual Studio 2008 总是重建我的整个项目?

    我有一个包含大约 60 个 C 源文件的 Visual Studio 项目 我可以进行构建 并且它可以毫无错误地完成 但如果我立即再次按 F7 它总是会重新编译大约 50 个源文件 它不会重新编译所有文件 这很奇怪 我设置了 启用最小重建
  • ASP.net Gridview 分页在 UpdatePanel 中不起作用

    虽然类似的问题已经被问过很多次了 但问题仍然没有解决 这是问题 我有一个GridView它包含在选项卡容器中AJAX控件本身位于UpdatePanel Gridview工作得很好并且其相应的方法被准确地触发 但是当我启用paging 例如
  • 将多模块 Maven 项目导入 Eclipse 时出现问题 (STS 2.5.2)

    我刚刚花了最后一个小时查看 Stackoverflow com 上的线程 尝试将 Maven 项目导入到 Spring ToolSuite 2 5 2 中 Maven 项目有多个模块 当我使用 STS 中的 Import 向导导入项目时 所
  • 通过身份验证保护 CodeIgniter 2 应用程序的正确方法是什么?

    I have Ion Auth http benedmunds com ion auth 正确安装并在我的服务器上运行 我也有默认的代码点火器2 新闻 教程在同一个 CI 安装中工作 我只是在玩 并对使用身份验证系统 封闭 或保护整个应用程
  • 如何将我的 pod 日志存储在持久存储中?

    我已经使用以下命令为我的 Pod 生成了日志kubectl logs pod name 但我想将这些日志保存在一个卷 某种持久存储 中 因为如果 Pod 宕机 容器日志将被清除 有没有办法做到这一点 我必须写某种脚本吗 我已经阅读了很多答案
  • 启动时的 Excel 加载项

    我正在使用 Visual C 创建 Microsoft Excel 的加载项 当我第一次创建解决方案时 它包含一个名为 ThisAddIn Startup 的函数 我在这个函数中添加了以下代码 private void ThisAddIn
  • Kubernetes 中可以连接两个集群 IP 服务吗?

    情况是我想连接一个租户内的两个集群IP服务 该租户已经将Traefik作为NodePort 以便这两个服务中的任何一个都可以成为LoadBalancer 因为NodePort由Traefik使用 我尝试连接的两个服务的工作方式如下 第一个服
  • iptables通过注释删除特定规则

    我需要删除一些具有相同评论的规则 例如 我有带有 comment test it 的规则 所以我可以像这样获得它们的列表 sudo iptables t nat L grep test it 但是我怎样才能删除所有带有注释 测试它 的 PR
  • 防止纸张对话框自动关闭

    Hello 我有一个paper dialog页面中的元素
  • 如何根据 ggplot2 中的汇总数据创建堆积条形图

    我正在尝试使用 ggplot 2 创建堆积条形图 我的宽格式数据如下所示 每个单元格中的数字是响应的频率 activity yes no dontknow Social events 27 3 3 Academic skills works
  • 使当前提交成为 Git 存储库中唯一(初始)提交?

    我目前有一个本地 Git 存储库 我将其推送到 Github 存储库 本地存储库有约 10 次提交 Github 存储库是其同步副本 我想要做的是从本地 Git 存储库中删除所有版本历史记录 以便存储库的当前内容显示为唯一提交 因此存储库中
  • 如何将设备连接到Eclipse?

    我无法解决这个简单的问题 我正在尝试通过 USB 电缆将我的设备连接到 Eclipse 在我的 PC 上 我已经安装了 Eclipse 和 Android SDK 并且在模拟器上运行该程序运行良好 我已在我的电脑上下载并安装了 Samsun
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运
  • 打破 ReadFile() 阻塞 - 命名管道 (Windows API)

    为了简化 这是一种命名管道服务器正在等待命名管道客户端写入管道的情况 使用 WriteFile 阻塞的 Windows API 是 ReadFile 服务器已创建启用阻塞的同步管道 无重叠 I O 客户端已连接 现在服务器正在等待一些数据
  • 逃离 Pig 中的美元符号?

    这在 0 9 2 中不是问题 但在 0 10 中 当我尝试访问地图中带有美元符号的键时 我会遇到没有定义变量的错误 具体来说 blah FOREACH meh GENERATE source json post id id AS post