我们的应用程序使用长时间运行的spark上下文(就像spark RPEL),以使用户能够在线执行任务。我们大量使用火花广播来处理尺寸数据。与通常的做法一样,我们广播维度表并使用数据帧API将事实表与其他维度表连接起来。其中一个维度表是相当大的,有大约10万条记录和15MB大小的内存(kyro序列化只是少数MB)。Spark Sparking Alternatives
我们看到,非标准化数据帧上的每个火花JOB都会导致所有维度一遍又一遍地播出。每次广播时,较大的表格需要7秒。我们正试图找到一种方法,让维度表在每个环境生命周期内只播放一次。我们尝试了sqlcontext和sparkcontext广播。
是否有任何其他替代方案来激发广播?或者是有降低数据框的内存占用量的方式(压缩/系列化等 - - 屈勒后仍是15MB :()?
这些表何时可用?他们是在计划开始时创建的,并在计划期间发送给所有工作人员? –
这些是封面下的配置单元表,维度表在程序启动过程中进行广播,用户在初始加载后继续处理数据。 – Krish