【发布时间】:2016-05-22 02:57:17
【问题描述】:
我有两个大型 Hive 表,比如 TableA 和 TableB(它们从不同的来源加载)。
这两个表具有几乎相同的表结构/列具有相同的分区列,日期存储为字符串。
我需要根据某些(相同的)过滤条件从每个表中过滤记录。
这些表有一些包含“代码”的列,需要查找这些列以获取其对应的“值”。
有八到十个这样的查找表,比如 LookupA、LookupB、LookupC 等,
现在,我需要:
- 合并来自 TableA 和 TableB 的过滤记录。
- 对查找表进行查找,并将过滤记录中的那些“代码”替换为它们各自的“值”。如果过滤记录或查找表中分别没有“代码”或“值”,我需要用零或空字符串替换它
- 将过滤记录中的日期从一种格式转换为另一种格式
我是 Hive 的初学者。请告诉我该怎么做。谢谢。
注意:我可以管理直到表格的联合。需要一些有关查找和转换的指导。
【问题讨论】:
-
@shankarsh15 分享了 hive-UDF 的查找方法。这涉及到开发人员对磁盘 I/O 的贡献。如何使用相关子查询并让 Hive 处理相同的问题?欢迎任何cmets。谢谢。
标签: sql hive etl hiveql hadoop2