【发布时间】:2017-07-25 02:35:42
【问题描述】:
我正在使用以下代码通过 pyspark 读取 csv 文件
import os
import sys
os.environ["SPARK_HOME"] = "D:\ProgramFiles\spark-2.1.0-bin-hadoop2.7"
os.environ["PYLIB"] = os.environ["SPARK_HOME"] + "/python/lib"
sys.path.insert(0, os.environ["PYLIB"] +"/py4j-0.10.4-src.zip")
sys.path.insert(0, os.environ["PYLIB"] +"/pyspark.zip")
from pyspark import SparkConf
from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.sql.types import *
conf = SparkConf()
conf.setMaster('local')
conf.setAppName('test')
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
df = qlContext.read.format("com.databricks.spark.csv").schema(customSchema).option("header", "true").option("mode", "DROPMALFORMED").load("iris.csv")
df.show()
报错如下:-
文件“”,第 1 行,在 df = sqlContext.read.format("com.databricks.spark.csv").schema(customSchema).option("header", "true").option("mode", "DROPMALFORMED").load("iris.csv")
文件 "D:\ProgramFiles\spark-2.1.0-bin-hadoop2.7\python\lib\pyspark.zip\pyspark\sql\context.py", 第 464 行,读取中 返回 DataFrameReader(self)
文件 “D:\ProgramFiles\spark-2.1.0-bin-hadoop2.7\python\lib\pyspark.zip\pyspark\sql\readwriter.py”,第 70 行,在 init 中 self._jreader = spark._ssql_ctx.read()
文件 "D:\ProgramFiles\spark-2.1.0-bin-hadoop2.7\python\lib\py4j-0.10.4-src.zip\py4j\java_gateway.py", 第 1133 行,在 调用 答案,self.gateway_client,self.target_id,self.name)
文件 "D:\ProgramFiles\spark-2.1.0-bin-hadoop2.7\python\lib\pyspark.zip\pyspark\sql\utils.py", 第 79 行,在装饰中 raise IllegalArgumentException(s.split(': ', 1)[1], stackTrace)
IllegalArgumentException:“实例化时出错 'org.apache.spark.sql.internal.SessionState':"
【问题讨论】:
-
# 这里缺少代码。 Iris 是绝对路径。 customSchema = StructType([ \ StructField("Sepal.Length", DoubleType(), True), \ StructField("Sepal.Width", DoubleType(), True), \ StructField("Petal.Length", DoubleType(), True), \ StructField("Petal.Width", DoubleType(), True), \ StructField("Species", StringType(), True)]) df = sqlContext.read.format("com.databricks.spark.csv ").schema(customSchema).option("header", "true").option("mode", "DROPMALFORMED").load("d:\iris.csv")
-
请不要使用 cmets 空间添加代码或其他详细信息 - 改为编辑和更新问题
标签: apache-spark pyspark databricks