【问题标题】:Spark streaming joins with multiple history tablesSpark 流连接与多个历史表
【发布时间】:2017-04-30 03:01:24
【问题描述】:

Spark 版本:1.5.2 我们正在尝试首次实现流式传输,并尝试对传入流执行 CDC 并将结果存储在 hdfs 中。

什么是有效的 我们使用带有输入文件流的 1 个表 CDC 启动 POC。基本(历史)表 (Hive) 为 2.5 GB,采用 SNAPPY 压缩 PARQUET 格式。我们将其与输入 dstreams(约 10000 条记录)相结合,流传输间隔为 5 分钟。由于我们需要一遍又一遍地为每个输入 dstream 连接相同的基础数据,因此我们正在缓存基础数据,因此连接工作得很快。

使用以下设置 --num-executors 8 --executor-cores 5 --driver-memory 1g --executor-memory 4g

我们需要什么建议 如果我们必须在生产中同时扩展相同的解决方案以在多个表上执行 CDC(对约 100 个历史表进行不同的 CDC 操作),我们知道缓存所有基础数​​据不是一个好主意,因为有限的可用性记忆。

有没有更好的方法在不将所有基础数​​据读入内存的情况下进行流式连接? 无论如何,对蜂巢表进行分桶会有帮助吗?

【问题讨论】:

    标签: apache-spark-sql spark-streaming spark-dataframe


    【解决方案1】:

    我认为this section 的文档应该会有所帮助。

    您可以将数据加载为 RDD,然后借助 transform 操作将它们与您的 DStream 连接。

    【讨论】:

      猜你喜欢
      • 2012-11-25
      • 2015-06-29
      • 1970-01-01
      • 2021-05-20
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多