使用 pyspark 在 Jupyter notebook 中读取 avro 文件时遇到问题
Posted
技术标签:
【中文标题】使用 pyspark 在 Jupyter notebook 中读取 avro 文件时遇到问题【英文标题】:Trouble reading avro files in Jupyter notebook using pyspark 【发布时间】:2019-06-16 12:32:21 【问题描述】:我正在尝试使用 pyspark 在 Jupyter notebook 中读取 avro 文件。当我阅读文件时出现错误。
我已经下载了 spark-avro_2.11:4.0.0.jar,我不确定我应该在代码的哪个位置插入 avro 包。任何建议都会很棒。
这是我用来读取 avro 文件的代码示例
df_avro_example = sqlContext.read.format("com.databricks.spark.avro").load("example_file.avro")
这是我得到的错误
AnalysisException: '未能找到数据源:com.databricks.spark.avro。请在 http://spark.apache.org/third-party-projects.html 找到 Avro 包;'
【问题讨论】:
【参考方案1】:将 jar 下载到某个位置并在您的 pyspark 应用程序中使用以下代码 sn-p
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--jars /path/tojar/spark-avro_2.11:4.0.0.jar pyspark-shell'
【讨论】:
感谢您对此的帮助,您的建议工作! 我的约会遇到了一些麻烦,想知道我需要做些什么来纠正这个问题。我使用下面的示例来提取 4 月最后一天、5 月整个月和 6 月第一天的数据。但我现在正在寻找 12 月的最后一天、1 月的整个月和 2 月的第一天的数据。但因为 12 月是 2018 年,我不知道如何调整我的代码。任何建议@Ranga Vure example_file.avro/20190430,5,601*\")以上是关于使用 pyspark 在 Jupyter notebook 中读取 avro 文件时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
使用常规 Jupyter Notebook 导入 PySpark 包
Pyspark / pyspark 内核在 jupyter notebook 中不起作用