Gaurav Miglani
03/29/2023, 7:09 PMAvroSchemaConverter.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
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
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)Gaurav Miglani
03/29/2023, 7:10 PM{
"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"
}