【问题标题】:How to use Avro on HDInsight Spark/Jupyter?如何在 HDInsight Spark/Jupyter 上使用 Avro?
【发布时间】:2018-04-29 16:49:32
【问题描述】:

我正在尝试读取 HDInsight Spark/Jupyter 集群中的 avro 文件,但得到了

u'Failed to find data source: com.databricks.spark.avro. Please find an Avro package at http://spark.apache.org/third-party-projects.html;'
Traceback (most recent call last):
  File "/usr/hdp/current/spark2-client/python/pyspark/sql/readwriter.py", line 159, in load
    return self._df(self._jreader.load(path))
  File "/usr/hdp/current/spark2-client/python/lib/py4j-0.10.4-src.zip/py4j/java_gateway.py", line 1133, in __call__
    answer, self.gateway_client, self.target_id, self.name)
  File "/usr/hdp/current/spark2-client/python/pyspark/sql/utils.py", line 69, in deco
    raise AnalysisException(s.split(': ', 1)[1], stackTrace)
AnalysisException: u'Failed to find data source: com.databricks.spark.avro. Please find an Avro package at http://spark.apache.org/third-party-projects.html;'

df = spark.read.format("com.databricks.spark.avro").load("wasb://containername@aaa...aaa.blob.core.windows.net/...")

我该如何解决这个问题?似乎我需要安装该软件包,但如何在 HDInsight 上安装?

【问题讨论】:

    标签: azure jupyter azure-hdinsight


    【解决方案1】:

    您只需要按照下面的文章进行操作

    https://docs.microsoft.com/en-in/azure/hdinsight/spark/apache-spark-jupyter-notebook-use-external-packages

    适用于 HDInsight 3.3 和 HDInsight 3.4

    您将在笔记本中添加以下单元格

    %%configure 
    { "packages":["com.databricks:spark-avro_2.10:0.1"] }
    

    对于 HDInsight 3.5

    您将在笔记本中添加以下单元格

    %%configure
    { "conf": {"spark.jars.packages": "com.databricks:spark-avro_2.10:0.1" }}
    

    对于 HDInsight 3.6

    您将在笔记本中添加以下单元格

    %%configure
    { "conf": {"spark.jars.packages": "com.databricks:spark-avro_2.11:4.0.0" }}
    

    【讨论】:

    • 我在 HdInsight 3.6 上运行,对我来说,我不得不使用更新版本的 avro 包:%%configure { "conf": {"spark.jars.packages": "com.databricks: spark-avro_2.11:4.0.0" }}
    • @HaimBendanan,感谢您的反馈。用详细信息更新了答案。希望我保持3.5 版本保持不变,因此使用3.5 的其他人可能需要其他反馈
    猜你喜欢
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    相关资源
    最近更新 更多