SparkContext'没有属性'builder error
Posted
技术标签:
【中文标题】SparkContext\'没有属性\'builder error【英文标题】:SparkContext' has no attribute 'builder errorSparkContext'没有属性'builder error 【发布时间】:2019-09-23 10:18:41 【问题描述】:我正在尝试从 pyspark 中的数据帧注册临时表。 代码:
from pyspark.sql import SQLContext
from pyspark import SparkContext
sc = SparkContext.builder.appName("Python Spark").getOrCreate()
sqlCtx = SQLContext()
data = sqlCtx.read.csv("D:/Customers_v01.csv", header=True, inferSchema=True)
data.registerTempTable("data")
spark.sql("SELECT * from data").show()
但这会引发错误,因为 AttributeError: type object 'SparkContext' has no attribute 'builder'。
数据看起来像
CM,503004,(d$όνυ$F|'.h*Λ!ψμ=(.ξ; ,.ʽ|!3-2-704 ,.ʽ/8μAθr ,(d$όνυ<<*έθr ,C51,CN-511450
我错过了什么吗?请帮忙
【问题讨论】:
【参考方案1】:你需要使用这种方式。
from pyspark.sql import SparkSession
spark = SparkSession \
.builder \
.appName("Python Spark SQL basic example") \
.getOrCreate()
创建 spark 会话后,您可以通过这种方式读取 csv。
data = spark.read.csv("D:/Customers_v01.csv", header=True, inferSchema=True, encoding='ISO-8859-1')
【讨论】:
非常感谢.....是否可以将此逻辑添加到当前代码中。 df['column_name'].str.encode('ascii', 'ignore').str.decode('ascii')。请建议 我已经用 unicode 添加了示例数据。非常感谢 非常感谢,我们可以用数据框上的 where 子句过滤它吗?请建议 您的意思是过滤所有包含非 ascii 字符的列? 如果任何列包含非ASCII字符,则过滤记录,并推送到其他临时表。以上是关于SparkContext'没有属性'builder error的主要内容,如果未能解决你的问题,请参考以下文章
Spark AttributeError:“SparkContext”对象没有属性“地图”
spark 源码分析之二 -- SparkContext 的初始化过程
使用SparkSession.builder时如何设置profiler_cls?