【问题标题】:Spark SQL : Handling schema evolutionSpark SQL:处理模式演变
【发布时间】:2017-12-31 14:12:12
【问题描述】:

我想读取 2 个相同数据集但具有架构演变的 avro 文件

  1. 第一个 avro 文件架构:{String, String, Int}
  2. 第二次 avro 文件架构演变:{String, String, Long}

(Int 字段进化到 long) 我想使用 sparkSQL 读取这两个 avro 文件以存储在数据框中。

要读取 avro 文件,我正在使用数据块的“spark-avro” https://github.com/databricks/spark-avro

如何有效地做到这一点。

Spark 版本:2.0.1 斯卡拉。 2.11.8

PS。这里的例子我只提到了2个文件,但在实际场景中每天都会生成文件,所以有1000多个这样的文件。

提前谢谢你:)

【问题讨论】:

    标签: apache-spark apache-spark-sql avro spark-avro


    【解决方案1】:

    使用类似的联合

    {string,string, [int, long]} 
    

    对您来说是一个有效的解决方案吗?它应该允许读取新旧文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      • 2016-02-21
      • 2013-02-27
      • 1970-01-01
      • 2020-03-08
      • 2018-01-26
      • 1970-01-01
      相关资源
      最近更新 更多