我正尝试使用databricks库读取csv文件,如下所示:
df=sqlContext.read.format('com.databricks.spark.csv').options(header='true', inferschema='true').load(file)
print(df)
但是我得到
java.lang.ClassNotFoundException:无法为数据源com.databricks.spark.csv加载类。
我需要将jar放在哪里,但无法连接到互联网直接安装。
答案 0 :(得分:0)
使用spark.read.csv
更容易,如下所示:
from pyspark.sql import SparkSession
spark = SparkSession \
.builder \
.appName("Your App Name") \
.getOrCreate()
df = spark.read.csv(file, header=True, inferSchema=True)
您可以在文档here中找到更多信息。
由于您在更新的问题中提到正在使用spark 1.6,因此在这种情况下,您需要在运行应用程序时指定依赖项。
使用--jars
如果要使用罐子:
首先从maven下载jar,然后在运行时指定其位置:
spark-submit {other options} --jars csv_jar_location your_app.py
使用--packages
但是,如果使用--packages选项,spark将为您处理下载并添加jar依赖项:
spark-submit {other options} --packages com.databricks:spark-csv your_app.py