Flink从入门到精通100篇(二十四)-对Flink SQL Client 源码做深度解析

Posted 文宇肃然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink从入门到精通100篇(二十四)-对Flink SQL Client 源码做深度解析相关的知识,希望对你有一定的参考价值。

前言

本文基于 Flink 1.12-SNAPSHOT,使用sql client命令行提交insert语句进行整个流程的分析。

sql-client.sh embedded --update "INSERT INTO user_log_sink2 SELECT * FROM user_log"

Initialize the environment

主类:org.apache.flink.table.client.SqlClient#main

public static void main(String[] args) 
  if (args.length < 1) 
   CliOptionsParser.printHelpClient();
   return;
  

  switch (args[0]) 

   case MODE_EMBEDDED:
    // remove mode
    final String[] modeArgs = Arrays.copyOfRange(args, 1, args.length);
    final CliOptions options = CliOptionsParser.parseEmbeddedModeClient(modeArgs);
    if (options.isPrintHelp()) 
     CliOptionsParser.printHelpEmbeddedModeClient();
     else 
     try 
      final SqlClient client = new SqlClient(true, options);
      client.start();
      catch (SqlClientException e) 
      // make space in terminal
      System.out.println();
      System.out.println();
      LO

以上是关于Flink从入门到精通100篇(二十四)-对Flink SQL Client 源码做深度解析的主要内容,如果未能解决你的问题,请参考以下文章

Flink从入门到精通100篇(二十一)-Apache Flink 与 Apache Hive 的集成

Flink从入门到精通100篇(二十一)-Flink 状态(State)管理在推荐场景中的应用

Flink从入门到精通100篇(二十一)-万字长文详解 Flink 中的 CopyOnWriteStateTable

Flink从入门到精通100篇(二十三)-Flink实战应用案例:如何清理过期的 Checkpoint 目录?

Flink从入门到精通100篇(二十二)-Apache Flink OLAP引擎性能优化及应用

Flink从入门到精通100篇(二十)-跨境电商 Shopee 的实时数仓之路