apachespark比较文件和sql数据

lrl1mhuk  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(280)

我要用 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的iterable选择(也许,尽可能多地缓存?)?

50few1ms

50few1ms1#

按请求作为答复发布:
如果您需要重复处理来自sql数据源的数据,我通常认为使用sqoop将数据拉入hdfs是值得的,这样我的处理就可以更容易地运行。这在我开发数据流时特别有用,因为我经常会在短时间内对一个数据样本多次运行同一个作业,如果它是sqoope的,我不必每次都访问数据库服务器。
如果您的作业是周期性/批处理样式(每日数据清理或报告之类的),那么这可能是一个足够的实现,在hdfs中收集历史数据最终会多次用于其他目的。
如果您需要实时、最新的数据,那么您需要使用jdbcrdd,如另一个答案中所述,它允许您将sql数据源视为spark数据流中的rdd。
祝你好运。

相关问题