刚刚进一步发现一个方法可以做动态扩展的类型。代码如下:

    这种情况下,首先表有一个字段d,然后d是json无限嵌套的类型都可以。
    此处有第一个疑问:如何不要d这个字段,让顶层就是一个无限扩展的map结构呢?

        stEnv.connect(
                new Kafka()
                        .properties(TestKafkaUtils.getKafkaProperties())
                        .version("universal")
                        .topic("test")
                        .startFromLatest()
        ).withFormat(new Json()
                .failOnMissingField(false)
        ).withSchema(
                new Schema()
                        .field("d", TypeInformation.of(Map.class))
        ).inAppendMode().createTemporaryTable("t");

    其次,这种效果我打印了下table的schema如下,其中d的类型是LEGACY('RAW', 
'ANY<java.util.Map>'),貌似是某种兼容类型。此处第二个疑问,通过SQL方式如何创建这种结构呢?
    root
    |-- d: LEGACY('RAW', 'ANY<java.util.Map>')
    

在 2020/8/11 下午4:23,“zhao liang”<[email protected]> 写入:

    Hi,你图挂了,换个图床试试呢
    
    发件人: Zhao,Yi(SEC) <[email protected]>
    日期: 星期二, 2020年8月11日 16:04
    收件人: [email protected] <[email protected]>
    主题: 关于FLinkSQL如何创建类json无限扩展的表结构问题
    刚刚进一步发现一个方法可以做动态扩展的类型。代码如下:
    [cid:[email protected]]
    这种情况下,首先表有一个字段d,然后d是json无限嵌套的类型都可以。
    此处有第一个疑问:如何不要d这个字段,让顶层就是一个无限扩展的map结构呢?
    
    
    其次,这种效果我打印了下table的schema如下,其中d的类型是LEGACY('RAW', 
'ANY<java.util.Map>'),貌似是某种兼容类型。此处第二个疑问,通过SQL方式如何创建这种结构呢?
    root
    |-- d: LEGACY('RAW', 'ANY<java.util.Map>')
    

回复