【发布时间】:2018-01-20 03:24:01
【问题描述】:
您好,我最近加入了一项使用 Hive 和 PostgreSQL 的新工作。现有的 ETL 脚本从 Hive 按日期分区收集数据并在 PostgreSQL 中为这些数据创建表,然后 PostgreSQL 脚本/查询执行左连接并创建最终表以用于报告目的。我过去听说 Hive 加入不是一个好主意。但是,我注意到 Hive 确实允许连接,所以我不确定为什么这是一个坏主意。
我想使用 Talend 或 Mulesoft 之类的工具在 hive 中创建连接和聚合,并创建一个临时表并将该临时表作为最终表传输到 PostgreSQL 以进行报告。
任何建议,尤其是如果这不是 HIVE 的良好做法。我是新来的蜂巢。
谢谢。
【问题讨论】:
-
在 Hive 中进行连接是完全合理的。谁告诉你他们不是一个好主意?可以参考一下吗?
-
一群初级数据分析师不断抱怨左连接是个坏主意,而且效率不高。我认为如果在 Hive 中完成而不是将所有内容都转移到 PostgreSQL 进行 ETL 会更有效
-
当我进行连接时,我根本没有发现 ETL 有任何问题。
-
一般来说,Hive 中的左连接的效率不亚于任何 RDBMS。请注意,由于 MR 的限制,Hive 中的外连接只能是等连接,
-
对等连接我应该注意什么?进行自我 equi-join 会有问题吗?
标签: sql hive etl hiveql talend