我的SPARK项目(用Java编写)需要跨执行程序访问(选择查询结果)不同的表。
解决此问题的一种方法是:
DataFrame
转换为Map
。但是,我发现了
Map
Map
并将其作为广播变量传递给执行者听起来不太有效。 相反,我们可以使用load
来在内存中加载表吗,这些表可以在执行者之间共享?
是 void org.apache.spark.sql.Dataset.createOrReplaceTempView(String viewName)
或 void org.apache.spark.sql.Dataset.createGlobalTempView(String viewName) throws AnalysisException
用于此目的的方法有用吗?
SPARK VERSION:2.3.0