我试图在两个数据集之间进行连接,一个存储在Hive表中,另一个不存储。我看到根据人们所做的这不是很正常,因为他们要么将所有内容定义为Hive表,要么他们不是。
现在有了MultipleInputs类,但addInputPath方法采用了Configuration, Path ,InputFormat,Mapper
我可以在那里使用输入格式并尝试将表名伪装成路径,但这听起来像是一个疯狂的猜测。
有一个针对较新版本的Hive的补丁(我在CDH4上,所以这意味着hive 0.10和hcat 0.5悲伤)。我发现这个补丁并不是很直接转换成我当前的版本,而且似乎只适用于多个表而不是它们的混合。
https://issues.apache.org/jira/browse/HIVE-4997
这可能或有任何建议吗?
我唯一能想到的就是在不使用表格的情况下阅读原始数据,但这意味着逻辑优于hive特定格式我宁愿避免。
答案 0 :(得分:0)
这里的解决方案显然是升级到0.14.0(或修补旧版本)或不使用HCatalog但直接读取Metastore并手动将每个分区子目录添加到MultipleInputs。
就个人而言,由于我不能轻易升级而且子分区工作太多,我只是专注于以其他方式优化工作,并且暂时不要运行一系列工作。
答案 1 :(得分:0)