Spark SQL:处理模式演变

时间:2017-07-25 14:55:18

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

我想阅读2个相同数据集但具有模式演变的avro文件

  1. 第一个avro文件架构:{String,String,Int}
  2. 第二个avro文件架构演变:{String,String,Long}
  3. (Int领域经历了很长的演变) 我想阅读这两个avro文件,使用sparkSQL存储在数据框中。

    要阅读avro文件,我使用的是“spark-avro”数据库 https://github.com/databricks/spark-avro

    如何有效地做到这一点。

    Spark版本:2.0.1 斯卡拉。 2.11.8

    PS。这里的示例我只提到了2个文件,但实际场景文件是每天生成的,因此有超过1000个这样的文件。

    提前谢谢你:)

1 个答案:

答案 0 :(得分:0)

使用像

这样的联盟
{string,string, [int, long]} 

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