使用PyCharm读取pyspark中的avro文件

问题描述 投票:0回答:1

我刚起步,我已经将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出现类似这样的内容:

enter image description here

而且我不知道必须执行此操作,在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 \ ....

python apache-spark pyspark pycharm
1个回答
0
投票
我从PyCharm的conda下载了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".;'

要解决此问题,请执行以下步骤:

© www.soinside.com 2019 - 2024. All rights reserved.