更新时间:2024-11-29 GMT+08:00

Datasource Avro格式查询异常

问题

Datasource Avro格式查询报错,提示Caused by: org.apache.spark.sql.avro.IncompatibleSchemaException。

解决方法

针对avro格式表查询报错,根本原因是avro格式表schema不匹配导致,需要考虑增量和存量avro格式表查询两个场景:

  1. 增量avro格式表,需要创建表之前设置参数spark.sql.forceConvertSchema.enabled=true,会将avro表格式强转指定数据类型,一次性修改schema。
  2. 存量avro格式表,查询avro表之前设置参数spark.sql.forceConvertSchema.enabled=true,如若查询失败,可能avro格式表schema被缓存,执行refresh table命令,清除缓存后再设置参数进行查询,会将avro表格式强转指定数据类型,客户端临时修改schema。