首页 > 解决方案 > SparkContext'没有属性'builder error

问题描述

我正在尝试从 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 错误:类型对象'SparkContext'没有属性'builder'。

数据看起来像

CM,503004,(d$όνυ$F|'.h*Λ!ψμ=(.ξ;      ,.ʽ|!3-2-704              ,.ʽ/8μAθr                    ,(d$όνυ<<*έθr                ,C51,CN-511450

我是不是错过了什么。请帮忙

标签: apache-sparkpysparkpyspark-sql

解决方案


你需要使用这种方式。

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')

推荐阅读