How do you do: My problem is flink table format and table schema mapping. The input data is similar to the following json format?? { "id": "123", "serial": "6b0c2d26", "msg": { "f1": "5677" } } The format code for TableSource is as follows: new Json().schema(Types.ROW(new String[] { "id", "serial", "msg" }, new TypeInformation << ? > [] { Types.STRING(), Types.STRING(), Types.ROW(new String[] { "f1" }, new TypeInformation << ? > [] { Types.STRING() }) }));
The schema part of TableSource is as follows: Schema schema = new Schema(); schema.field("id", Types.STRING()); schema.field("serial", Types.STRING()); I don't know how to define the f1 field of msg in the schema. I tried schema.field("f1", Types.STRING()) before; but I will report an error. What is the correct method? The following SQL can be run correctly: select id,serial,f1 from table; My flink version is 1.8.1,use flink table & SQL API thanks;