I have a avro schema string, trying `AvroSchemaCon...
# troubleshooting
g
I have a avro schema string, trying
AvroSchemaConverter.convertToTypeInfo[Row]
for converting it into flink type info, somehow below is the table DDL is getting generated which is failing at flink sql validation step
Copy code
CREATE TABLE t1 (
  `pp` MAP<STRING, RAW('java.lang.Object', '...')>
) with (
'connector' = 'kafka',
'topic' = 'test',
'properties.bootstrap.servers' = 'localhost:9092',
'properties.group.id' = 'test',
'properties.auto.offset.reset' = 'latest',
'value.format' = 'avro-confluent',
'scan.topic-partition-discovery.interval' = '60000',
'value.avro-confluent.url' = 'localhost:9091',
'scan.startup.mode' = 'group-offsets'
)
error
Copy code
Caused by: org.apache.flink.table.api.ValidationException: Unable to restore the RAW type of class 'java.lang.Object' with serializer snapshot '...'.
	at org.apache.flink.table.types.logical.RawType.restore(RawType.java:157)
	at org.apache.flink.table.planner.calcite.FlinkTypeFactory.createRawType(FlinkTypeFactory.scala:371)
	at org.apache.flink.sql.parser.type.SqlRawTypeNameSpec.deriveType(SqlRawTypeNameSpec.java:60)
	at org.apache.calcite.sql.SqlDataTypeSpec.deriveType(SqlDataTypeSpec.java:231)
	at org.apache.calcite.sql.SqlDataTypeSpec.deriveType(SqlDataTypeSpec.java:218)
	at org.apache.flink.sql.parser.type.SqlMapTypeNameSpec.deriveType(SqlMapTypeNameSpec.java:67)
	at org.apache.calcite.sql.SqlDataTypeSpec.deriveType(SqlDataTypeSpec.java:231)
	at org.apache.flink.table.planner.operations.MergeTableLikeUtil$SchemaBuilder.collectPhysicalFieldsTypes(MergeTableLikeUtil.java:509)
	at org.apache.flink.table.planner.operations.MergeTableLikeUtil$SchemaBuilder.appendDerivedColumns(MergeTableLikeUtil.java:397)
	at org.apache.flink.table.planner.operations.MergeTableLikeUtil$SchemaBuilder.access$000(MergeTableLikeUtil.java:209)
	at org.apache.flink.table.planner.operations.MergeTableLikeUtil.mergeTables(MergeTableLikeUtil.java:150)
	at org.apache.flink.table.planner.operations.SqlCreateTableConverter.createCatalogTable(SqlCreateTableConverter.java:162)
	at org.apache.flink.table.planner.operations.SqlCreateTableConverter.convertCreateTable(SqlCreateTableConverter.java:77)
	at org.apache.flink.table.planner.operations.SqlToOperationConverter.convertValidatedSqlNode(SqlToOperationConverter.java:309)
	at org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:262)
	at org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:106)
	at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeSql(TableEnvironmentImpl.java:723)
avro schema:
Copy code
{
  "fields": [
    {
      "name": "pp",
      "type": {
        "avro.java.string": "String",
        "type": "map",
        "values": [
          "null",
          {
            "avro.java.string": "String",
            "type": "string"
          },
          "long",
          "int",
          "bytes",
          "boolean",
          "float",
          "double",
          {
            "items": "int",
            "type": "array"
          }
        ]
      }
    }
  ],
  "name": "FlattenedPP",
  "namespace": "teams.avro",
  "type": "record"
}