我正在尝试从pyspark中的dataframe注册temptable。 代码:
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
我错过了什么吗?请帮助
答案 0 :(得分:0)
您需要使用这种方式。
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')