用于解析使用 Pig 脚本生成的组的输出的 Java 程序

标签 java hadoop apache-pig

我需要使用 Java 解析以下行,该行是由 Pig 组函数生成的。

(D1,{(A1,null,C1,D1,E1),(null,B1,C1,D1,E1),(A2,null,null,D1,E2)})

这里 D1 是键,(A1,null,C1,D1,E1),(null,B1,C1,D1,E1),(A2,null,null,D1,E2) 是对应的值。

我正在寻找一个java pgm来仅保留值。但是,不能直接应用“,”上的 split 函数,因为内部元素还包含 , 分隔符。

最佳答案

蹩脚的 DIY 解决方案是首先隔离 "(A1,null,C1,D1,E1),(null,B1,C1,D1,E1),(A2,null,null,D1,E2 )",然后将其拆分为 "),(",这样就得到 "(A1,null,C1,D1,E1", "null,B1,C1,D1,E1""A2,null,null,D1,E2)"。删除无关的括号,然后用逗号将每个分隔开:你想要的。

关于用于解析使用 Pig 脚本生成的组的输出的 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21178734/

相关文章:

java : Inside Enhanced for loop cannot Object to String

amazon-web-services - 亚马逊 emr : best compression/fileformat

java - 如果用户在注册时没有从图库中选择任何照片,我如何提醒用户?

java - Eclipse Workspace JRE 不匹配任何配置设置?

java - 如何在 maven 中给出参数 - 对于 hadoop WordCount

hadoop - 具有数据挖掘功能的 MapReduce 项目

hadoop - pig 多查询优化问题

java - 如何解析 xml 元素节点 susing pig 脚本?

java - JNI 不会在 cmake 环境中创建 jclasses

hadoop - 如何将具有空格的列名传递给sqoop --map-column-java