Java Hadoop配置单元:在所有表的所有列中查找字符串的所有匹配项?

Java Hadoop配置单元:在所有表的所有列中查找字符串的所有匹配项?,java,hadoop,mapreduce,hive,Java,Hadoop,Mapreduce,Hive,需要以下任务的方法和工具方面的建议 输入:Hive DB和大约100个表。表的平均长度为5 000 000行。表中的平均列数为40。表具有所有不同类型的字段,包括字符串类型 任务: 1.在所有表的所有列中查找包含给定子字符串的所有字符串。这样找到的字符串称为搜索字符串 2.创建具有两列的表:搜索字符串和表列表。字段字符串指示搜索字符串的查找位置 为了解决这个问题,我计划在配置单元表上使用MapReduce。然而,它似乎有一些局限性: Java程序中只能为MRD作业设置一个输入表: HCatInp

需要以下任务的方法和工具方面的建议

输入:Hive DB和大约100个表。表的平均长度为5 000 000行。表中的平均列数为40。表具有所有不同类型的字段,包括字符串类型

任务:

1.在所有表的所有列中查找包含给定子字符串的所有字符串。这样找到的字符串称为搜索字符串

2.创建具有两列的表:搜索字符串和表列表。字段字符串指示搜索字符串的查找位置

为了解决这个问题,我计划在配置单元表上使用MapReduce。然而,它似乎有一些局限性:

Java程序中只能为MRD作业设置一个输入表:

HCatInputFormat.setInputjob,InputJobInfo.createdbName,InputableName,空

当我的MRD作业试图将数据附加到现有的非空输出表时,该表在上一次运行时已填充了该作业的记录!我得到一个例外:

ERROR security.UserGroupInformation:PriviledEdActionException as:TestUser身份验证:简单原因:org.apache.hcatalog.common.hcateException:2003:非分区表已包含数据

问题:

如何编写在多个输入配置单元表上运行的Java MRD作业

如何编写JavaMRD作业将数据附加到现有的非空配置单元表中

如何在输入配置单元表上运行的JavaMRD作业中获取DB和表名

谢谢