【问题标题】:Spark can not process recursive avro dataSpark 无法处理递归 avro 数据
【发布时间】:2020-11-14 00:04:49
【问题描述】:

我有如下avsc 架构:

{
  "name": "address",
  "type": [
     "null", 
        {
           "type":"record",
           "name":"Address",
           "namespace":"com.data",
           "fields":[
              {
                 "name":"address",
                 "type":[ "null","com.data.Address"],
                 "default":null
              }
           ]
        }
     ],
  "default": null
}

在 pyspark 中加载此数据时:

jsonFormatSchema = open("Address.avsc", "r").read()

spark = SparkSession.builder.appName('abc').getOrCreate()
df = spark.read.format("avro")\
.option("avroSchema", jsonFormatSchema)\
.load("xxx.avro")

我遇到了这样的异常:

"Found recursive reference in Avro schema, which can not be processed by Spark"

我尝试了许多其他配置,但都没有成功。 要执行我使用 spark-submit:

--packages org.apache.spark:spark-avro_2.12:3.0.1

【问题讨论】:

    标签: apache-spark pyspark avro recursive-datastructures spark-avro


    【解决方案1】:

    这是一个预期的功能,你可以看看“问题”:

    https://issues.apache.org/jira/browse/SPARK-25718

    【讨论】:

    • 我在这种模式中有 avro 文件,我对此没有影响。我可以以某种方式更改架构以能够读取 avro 文件吗?
    猜你喜欢
    • 2017-01-08
    • 2021-01-14
    • 2016-11-12
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    相关资源
    最近更新 更多