thank you??
Let me try??


------------------ ???????? ------------------
??????: "JingsongLee"<lzljs3620...@aliyun.com>;
????????: 2019??9??3??(??????) ????7:53
??????: "????????"<2463...@qq.com>;"user"<user@flink.apache.org>;

????: Re:question



should be schema.field(??msg??, Types.ROW(...))?And you should select msg.f1 
from table.


Best
Jingsong Lee





???????????? iPhone??
 ------------------Original Mail ------------------
From:???????? <2463...@qq.com>
Date:2019-09-03 09:22:41
Recipient:user <user@flink.apache.org>
Subject:question

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;

Reply via email to