我正在将SSIS解决方案转换为Hadoop,以便在数据仓库中进行ETL处理。
我的预期系统:
ETL - 登陆& staging(Hadoop)---- put-data --->数据仓库(MySQL的)
问题是:在变换短语中,我需要从hadoop端(pig或mapreduce作业)查找MySQL中的数据。有两种解决方案:
1st:克隆所有表需要从MySQL查找到Hadoop。这意味着我们需要维护2个地方的数据
第二次:直接查询MySQL。我担心MySQL服务器会有很多连接。
此问题的解决方案/最佳做法是什么?还有其他解决方案。
答案 0 :(得分:1)
您必须在Hadoop中对维度表进行一些表示。根据维度数据ETL的执行方式,实际上可能会将它们作为ETL的副作用。
您是否计划在MySQL中存储最细粒度的事实数据?根据我的经验,Hive + Hadoop在存储和分析事实数据方面击败了翻新数据库。如果您需要实时访问查询结果,则可以通过将结果存储在MySQL中来“缓存”摘要结果。