Apache Spark 2.0 (PySpark) - DataFrame 错误为 csv 找到多个来源
Apache Spark 2.0 (PySpark) - DataFrame Error Multiple sources found for csv
我正在尝试在 Spark 2.0 中使用以下代码创建数据框。在 Jupyter/Console 中执行代码时,我遇到了以下错误。谁能帮我解决这个错误?
错误:
Py4JJavaError: An error occurred while calling o34.csv.
: java.lang.RuntimeException: Multiple sources found for csv (org.apache.spark.sql.execution.datasources.csv.CSVFileFormat, com.databricks.spark.csv.DefaultSource15), please specify the fully qualified class name.
at scala.sys.package$.error(package.scala:27)
代码:
from pyspark.sql import SparkSession
if __name__ == "__main__":
session = SparkSession.builder.master('local')
.appName("RealEstateSurvey").getOrCreate()
df = session \
.read \
.option("inferSchema", value = True) \
.option('header','true') \
.csv("/home/senthiljdpm/RealEstate.csv")
print("=== Print out schema ===")
session.stop()
错误是因为您的类路径中必须同时包含两个库(org.apache.spark.sql.execution.datasources.csv.CSVFileFormat
和 com.databricks.spark.csv.DefaultSource
)。并且 spark 对选择哪一个感到困惑。
你所需要的只是通过将 format
选项定义为
来告诉 spark 使用 com.databricks.spark.csv.DefaultSource
df = session \
.read \
.format("com.databricks.spark.csv") \
.option("inferSchema", value = True) \
.option('header','true') \
.csv("/home/senthiljdpm/RealEstate.csv")
另一种选择是使用 load
作为
df = session \
.read \
.format("com.databricks.spark.csv") \
.option("inferSchema", value = True) \
.option('header','true') \
.load("/home/senthiljdpm/RealEstate.csv")
如果有人在 Spark Java 中遇到类似问题,那可能是因为您的类路径中有多个版本的 spark-sql jar。仅供参考。
我正在尝试在 Spark 2.0 中使用以下代码创建数据框。在 Jupyter/Console 中执行代码时,我遇到了以下错误。谁能帮我解决这个错误?
错误:
Py4JJavaError: An error occurred while calling o34.csv. : java.lang.RuntimeException: Multiple sources found for csv (org.apache.spark.sql.execution.datasources.csv.CSVFileFormat, com.databricks.spark.csv.DefaultSource15), please specify the fully qualified class name. at scala.sys.package$.error(package.scala:27)
代码:
from pyspark.sql import SparkSession
if __name__ == "__main__":
session = SparkSession.builder.master('local')
.appName("RealEstateSurvey").getOrCreate()
df = session \
.read \
.option("inferSchema", value = True) \
.option('header','true') \
.csv("/home/senthiljdpm/RealEstate.csv")
print("=== Print out schema ===")
session.stop()
错误是因为您的类路径中必须同时包含两个库(org.apache.spark.sql.execution.datasources.csv.CSVFileFormat
和 com.databricks.spark.csv.DefaultSource
)。并且 spark 对选择哪一个感到困惑。
你所需要的只是通过将 format
选项定义为
com.databricks.spark.csv.DefaultSource
df = session \
.read \
.format("com.databricks.spark.csv") \
.option("inferSchema", value = True) \
.option('header','true') \
.csv("/home/senthiljdpm/RealEstate.csv")
另一种选择是使用 load
作为
df = session \
.read \
.format("com.databricks.spark.csv") \
.option("inferSchema", value = True) \
.option('header','true') \
.load("/home/senthiljdpm/RealEstate.csv")
如果有人在 Spark Java 中遇到类似问题,那可能是因为您的类路径中有多个版本的 spark-sql jar。仅供参考。