【发布时间】:2015-03-06 22:38:01
【问题描述】:
我将使用Apache Spark 处理大文本文件,其中处理周期中的一部分是将文本部分与大 SQL 表中的数据进行比较。
任务是:
1) Process files and break text into pieces
2) Compare pieces with database ones
毫无疑问,瓶颈将是 SQL。我对Apache Spark 完全陌生,虽然我确定Subtask #1 是“他的人”,但我不完全确定Subtask #2 可以由Spark 处理(我的意思是,以有效的方式)。
问题是Spark 如何在并行和分布式环境中处理来自大 SQL 的可迭代选择(也许,尽可能多地缓存?)?
【问题讨论】:
-
您是否可以/值得将表中的数据sqoop到HDFS中?然后您的处理就可以完全处理 HDFS 数据了。
-
@DPM 是的,也许,好记。 Spark SQL 及其方法
cacheTable()怎么样? -
Spark SQL 用于让您使用 SQL 语法查询 RDD。如果您想将 SQL 数据读入 Spark,您似乎更需要 JdbcRDD,如 this answer 中所述
-
@DPM 希望您发表评论作为答案,我会批准它:)
标签: hadoop parallel-processing apache-spark