关于flink-sql 元数据问题

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

关于flink-sql 元数据问题

夜思流年梦
开发者好:
               目前想把flink-sql 建表的操作集成到我们自己的平台中,但是发现一个比较尴尬的现象,如果使用Table api ,应用中只有create 语句的话,那么应用执行会报错,报没有定义算子:The main method caused an error: No operators defined in streaming topology. Cannot generate StreamGraph.
但是,这个表却创建成功了,代码如下:


        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        EnvironmentSettings bsSettings = EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build();
        env.setRestartStrategy(RestartStrategies.fixedDelayRestart(MAX_RESTART, Time.of(DURING_RESTART, TimeUnit.SECONDS)));
        env.enableCheckpointing(CHECKPOINT_INTERVAL);
        StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env,bsSettings);
        Catalog catalog = new HiveCatalog(CATALOG_NAME,DEFAULTDATABASE,HIVECONFDIR);
        tableEnv.registerCatalog(CATALOG_NAME,catalog);
        tableEnv.useCatalog("myhive");
        tableEnv.executeSql("create table .....");
        tableEnv.execute("test-job");


加上目前flink-sql 没有show create table 功能,在hive中的元数据没法把已经建的表很好的管理,所以想集成到我们自己的元数据管理平台中


想问下各位大佬,如果只有建表操作,有没有对应的API,单独调用flink-sql 的建表操作 ,上述操作除非加个insert 操作就不报错,但是只是为了建表,加个insert也不行
各位的元数据管理都是咋实现的呢?

Reply | Threaded
Open this post in threaded view
|

Re: 关于flink-sql 元数据问题

JasonLee
hi
Flink SQL 建的表支持用 hive 的 catalog 来管理元数据,是否可以满足你的需求 ?



-----
Best Wishes
JasonLee
--
Sent from: http://apache-flink.147419.n8.nabble.com/
Best Wishes
JasonLee
Reply | Threaded
Open this post in threaded view
|

Re: 关于flink-sql 元数据问题

Rui Li
Hi,

调用tableEnv.executeSql("create table
.....")以后表就已经创建了,不需要再调用tableEnv.execute。execute方法已经deprecate,建议统一使用executeSql哈

On Fri, Dec 11, 2020 at 7:23 PM JasonLee <[hidden email]> wrote:

> hi
> Flink SQL 建的表支持用 hive 的 catalog 来管理元数据,是否可以满足你的需求 ?
>
>
>
> -----
> Best Wishes
> JasonLee
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
>


--
Best regards!
Rui Li
Reply | Threaded
Open this post in threaded view
|

Re: 关于flink-sql 元数据问题

占英华


> 在 2020年12月14日,11:43,Rui Li <[hidden email]> 写道:
>
> Hi,
>
> 调用tableEnv.executeSql("create table
> .....")以后表就已经创建了,不需要再调用tableEnv.execute。execute方法已经deprecate,建议统一使用executeSql哈
>
>> On Fri, Dec 11, 2020 at 7:23 PM JasonLee <[hidden email]> wrote:
>>
>> hi
>> Flink SQL 建的表支持用 hive 的 catalog 来管理元数据,是否可以满足你的需求 ?
>>
>>
>>
>> -----
>> Best Wishes
>> JasonLee
>> --
>> Sent from: http://apache-flink.147419.n8.nabble.com/
>>
>
>
> --
> Best regards!
> Rui Li


Reply | Threaded
Open this post in threaded view
|

Re:Re: 关于flink-sql 元数据问题

夜思流年梦
In reply to this post by Rui Li






Hi ,
     的确tableEnv.execute 和tableEnv.executeSql 这两个方法不该一起用
     现在会报另一个错,去掉tableEnv.execute 方法,
代码如下:


        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        EnvironmentSettings bsSettings = EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build();
        env.setRestartStrategy(RestartStrategies.fixedDelayRestart(MAX_RESTART, Time.of(DURING_RESTART, TimeUnit.SECONDS)));
        env.enableCheckpointing(CHECKPOINT_INTERVAL);
        StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env,bsSettings);
        Catalog catalog = new HiveCatalog(CATALOG_NAME,DEFAULTDATABASE,HIVECONFDIR);
        tableEnv.registerCatalog(CATALOG_NAME,catalog);
        tableEnv.useCatalog("myhive");
        tableEnv.executeSql("create table .....");


No jobs included in application


目前的场景是想把flink-sql 建表的操作规范到我们自己的平台上,不想通过SQL-client 或者代码的方式提交建表,这样我们自己可以做一些类似于建表规范,元数据统一管理等一些功能;用户通过在平台上建表,然后调用flink的api来实现建表操作;
现在已经使用的是Hive-catalog,只是我们关注的是建表操作放到我们自己的平台上;


所以想采用上述代码的方式,通过平台调用,直接建表,但是现在这个应用提交是不成功的(要么报没有算子,要么报没有Jobs);
然后就算上述方式提交成功,好像也没法知道我的这个表建成功与否,只知道应用提交成功没有,不像HTTP请求有对应返回值,好像没有类似的 Rest Api的方式来做这个事情













在 2020-12-14 11:42:35,"Rui Li" <[hidden email]> 写道:

>Hi,
>
>调用tableEnv.executeSql("create table
>.....")以后表就已经创建了,不需要再调用tableEnv.execute。execute方法已经deprecate,建议统一使用executeSql哈
>
>On Fri, Dec 11, 2020 at 7:23 PM JasonLee <[hidden email]> wrote:
>
>> hi
>> Flink SQL 建的表支持用 hive 的 catalog 来管理元数据,是否可以满足你的需求 ?
>>
>>
>>
>> -----
>> Best Wishes
>> JasonLee
>> --
>> Sent from: http://apache-flink.147419.n8.nabble.com/
>>
>
>
>--
>Best regards!
>Rui Li