在Apache spark中跨执行程序共享数据-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

在Apache spark中跨执行程序共享数据

2018-12-19 16:42:45 1552 1

我的SPARK项目(用Java编写)需要跨执行程序访问(SELECT查询结果)不同的表。

这个问题的一个解决方案是:

我创建了一个tempView
选择所需的列
使用forEach转换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版本:2.3.0

取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:23:02

    我的SPARK项目(用Java编写)需要跨执行程序访问(SELECT查询结果)不同的表。

    这个问题的一个解决方案是:

    我创建了一个tempView
    选择所需的列
    使用forEach转换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版本:2.3.0

    0 0
相关问答

1

回答

用access做数据库的java程序在其他电脑上无效-java报错

2020-06-01 21:53:15 361浏览量 回答数 1

0

回答

使用Apache+Spark时如何处理数据库的背压?

2019-08-22 12:48:38 132浏览量 回答数 0

1

回答

使用Apache Spark时如何处理数据库的背压?

2018-12-12 18:23:06 1805浏览量 回答数 1

0

回答

AWS Textract能从噪声图像中提取数据吗?

2019-12-26 10:09:51 209浏览量 回答数 0

1

回答

AWS Textract能从噪声图像中提取数据吗?

2019-12-26 10:09:51 253浏览量 回答数 1

1

回答

Spark - 组合所有执行程序的过滤结果

2018-12-11 18:02:43 1039浏览量 回答数 1

1

回答

用access做数据库的java程序在其他电脑上无效:配置报错 

2020-06-02 17:16:11 349浏览量 回答数 1

2

回答

Spark调优数据分布不均是什么意思?

2020-12-28 13:47:44 889浏览量 回答数 2

1

回答

Spark调优数据分布不均是什么意思?

2020-12-28 11:13:30 202浏览量 回答数 1

1

回答

Apache Spark有什么特性?

2021-12-13 14:45:11 134浏览量 回答数 1
+关注
社区小助手
社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。
12
文章
824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载