【发布时间】:2017-01-11 19:03:57
【问题描述】:
一个查询,我在 Mysql 中有两个更大的表 A(40 GB)和 B(70 GB),我经常需要从两个表中加入。我不在查询中使用连接,因为它从不返回结果。请考虑所有表都已编入索引。
我从表 A 中获取数据,而不是使用该数据,我在表 B 中以块的形式找到匹配的记录。我进一步处理这个加入的数据。整个过程需要时间,取决于我做了多少处理。
我知道 Spark 也可以用于分布式计算。
问题 1:如果我将这些数据放到 HDFS 中,然后通过集群中的 5 个节点通过 apache spark 处理它可以给我更快的结果吗?我认为答案是肯定的。
问题 2:将结构化数据(从 MySql)更改为 HDFS 是否是一种好方法?
【问题讨论】:
-
更好的结果是什么意思?快点?另外,非结构化数据是什么意思?
-
Spark可以通过JDBC驱动连接MySQL,为什么需要导出到HDFS?
-
导出到 HDFS 仍然会产生结构化数据,无论您是放入 Hive 还是仅放入 CSV 文件
-
我需要表A和表B数据几个用例。对每个用例都使用 mysql 是不可取的。因此,如果我将这些数据放到 HDFS 中,它的加载速度会比 mysql 快,因此计划每天只将其提取到 HDFS 一次。
标签: mysql apache-spark hdfs distributed-computing bigdata