我刚起步,我已经将pyspark库导入pycharm venv并编写以下代码:
# Imports
from pyspark.sql import SparkSession
# Create SparkSession
spark = SparkSession.builder \
.appName('DataFrame') \
.master('local[*]') \
.getOrCreate()
spark.conf.set("spark.sql.shuffle.partitions", 5)
path = "file_path"
df = spark.read.format("avro").load(path)
,似乎一切正常,但是当我想读取avro文件时,会收到消息:
pyspark.sql.utils.AnalysisException:'未能找到数据源:avro。自Spark 2.4起,Avro是内置的但外部数据源模块。请根据“ Apache Avro数据源指南”的部署部分部署应用程序。
当我转到此页面:> https://spark.apache.org/docs/latest/sql-data-sources-avro.html出现类似这样的内容:
而且我不知道必须执行此操作,在PyCharm中下载某些内容,或者您必须找到要修改的外部文件?
谢谢您的帮助!
更新(2019-12-06):
因为我使用的是Anaconda,所以我打开了Anaconda提示符并复制了以下代码:pyspark --packages com.databricks:spark-avro_2.11:4.0.0
它下载了一些模块,然后我回到了PyCharm并出现了同样的错误。
我对Spark很陌生,我已经将pyspark库导入pycharm venv并编写以下代码:#从pyspark.sql导入import SparkSession#创建SparkSession spark = SparkSession.builder \ ....
pyspark
版本2.4.4
软件包。并在spark配置中添加了spark-avro_2.11-2.4.4.jar
文件,并能够成功地重新创建您的错误,即pyspark.sql.utils.AnalysisException: 'Failed to find data source: avro. Avro is built-in but external data source module since Spark 2.4. Please deploy the application as per the deployment section of "Apache Avro Data Source Guide".;'
要解决此问题,请执行以下步骤: