hadoop - 如何在 pig 中插入虚拟 map 值

标签 hadoop mapreduce apache-pig hdfs

我正在对袋子的 null 和 empty 进行条件检查。包含多个 map 数组。每当“信息”为空或为空时,我想将虚拟 map 值放入其中。因为在下一步中,我要对“信息”进行 FLATTEN 操作。

为什么我需要这个,因为 FLATTEN 中的 null 或空包将从我不需要的数据中删除完整记录。

((info is null or IsEmpty(info)) ? {(['Unknown'#'unknown'])} : info) as info;

这是给我以下编译错误?

2014-09-02 06:20:37,978 [main] 错误 org.apache.pig.tools.grunt.Grunt - 错误 1000:解析期间出错。在第 24 行第 70 列遇到 "": ""。 期待其中之一: “猫” ... “清除” ... “FS” ... “嘘”... “光盘”... “cp”…… "copyFromLocal"...

最佳答案

创建 map 时似乎存在语法错误。有一种使用 TOMAP 创建 map 的简单方法函数,您可以按如下方式使用:

((info is null or IsEmpty(info)) ? {(TOMAP('Unknown','unknown'))} : info) as info;

关于hadoop - 如何在 pig 中插入虚拟 map 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25617087/

相关文章:

hadoop - 树莓派 Hadoop 集群配置

hadoop - 如何搭建大数据平台,在Hadoop中接收和存储大数据

hadoop - 在 PIG UDF 中调试

hadoop - Hbase org.apache.hadoop.hbase.PleaseHoldException

hadoop - 在 hiveql 中,如果某些数据隐式不存在,计算平均值的最优雅/最有效的方法是什么?

python - 在 PySpark 中进行排序归约的最有效方法是什么?

hadoop - 一个工具,显示每个映射器和化简器的完成时间和源计算机名称的细目分类?

hadoop - 解析文本文件并导入 HBase 中的表

java - Hive 相当于 Pig 的 PigRunner?

java - 远程运行 Pig 作业