我正在将ssis解决方案转换为hadoop,以便在数据仓库中进行etl处理。
我期望的系统:
etl-登陆和登台(hadoop)--放置数据--->数据仓库(mysql)
问题是:在转换阶段,我需要从hadoop端在mysql中查找数据(pig或mapreduce作业)。有两种解决方案:
第一:将所有需要从mysql查找的表克隆到hadoop中。这意味着我们需要维护两个地方的数据。
第二:直接查询mysql。我担心很多连接到mysql服务器。
这个问题的解决方案/最佳实践是什么?还有其他解决办法吗。
1条答案
按热度按时间l7wslrjt1#
您必须在hadoop中有一些维度表的表示。根据您对维度数据进行etl的方式,您实际上可能会将它们作为etl的副作用。
您是否计划在mysql中存储最细粒度的事实数据?根据我的经验,在存储和分析事实数据方面,hive+hadoop胜过reanational数据库。如果您需要对查询结果进行实时访问,那么可以通过将摘要结果存储在mysql中来“缓存”它们。