python - 使用 SparkConf 创建 SparkSession 对象时出现问题
问题描述
我是 Spark 的新手,需要一些关于以下问题的指导 - 每当我尝试使用 SparkConf 对象创建 SparkSession 对象时,我都会收到以下错误 -
AttributeError:“SparkConf”对象没有属性“_get_object_id”
我在本地模式下使用 Spark 2.3 和 Python 3.7。
sconf=SparkConf.setAppName("test")
ss=SparkSession.builder.config(conf=sconf).getOrCreate()
我已经阅读了互联网上提供的一些解决方案,但没有一个解决了我的问题。
即使我尝试直接创建 SparkSession 对象,即没有明确的 SparkConf 对象,我也会遇到同样的错误 -
ss=SparkSession.builder.master("local").getOrCreate()
AttributeError: 'SparkConf' object has no attribute '_get_object_id'
解决方案
不要创建新的 SparkConf() 对象:它将是一个 python 对象,显然与 Spark 的非 python 部分不兼容(它没有强制的 _get_object_id() 方法,如错误消息所示)。
构建器的 config() 方法是累积的,所以你应该这样做:
ss = SparkSession \
.builder \
.appName("test") \
.config("some.parameter", "some.value") \
.config("some.other.parameter", "some.other.value") \
etc...
.getOrCreate()
推荐阅读
- javascript - 如何将数组参数添加到对象的构造函数,从而为每个对象提供自己的数组?
- mysql - 使用 MYSQL 合并具有相同名称的行
- java - ConcurrentModificationException 和 Stream API
- php - MYSQL WHERE IN 爆炸数组
- javascript - javascript嵌套foreach循环和这个
- angular - 如何在 Angular 中获取当前路由的模块
- html - django 如何使用模板创建退出链接?
- javascript - 使用 ReactJS+semantic-ui-react 下载文件
- android - 如何在android应用程序中导入库模块
- c++ - 在结构数组上使用 c++ std::copy