Apache-flink-table-api-sql
提供:Dev Guides
Apache Flink-テーブルAPIとSQL
テーブルAPIは、式言語のようなSQLを備えたリレーショナルAPIです。 このAPIは、バッチ処理とストリーム処理の両方を実行できます。 JavaおよびScala DatasetおよびDatastream APIで埋め込むことができます。 既存のデータセットとデータストリームまたは外部データソースからテーブルを作成できます。 このリレーショナルAPIを使用して、結合、集約、選択、フィルタリングなどの操作を実行できます。 入力がバッチであろうとストリームであろうと、クエリのセマンティクスは変わりません。
ここにサンプルのテーブルAPIプログラムがあります-
//for batch programs use ExecutionEnvironment instead of StreamExecutionEnvironment
val env = StreamExecutionEnvironment.getExecutionEnvironment
//create a TableEnvironment
val tableEnv = TableEnvironment.getTableEnvironment(env)
//register a Table
tableEnv.registerTable("table1", ...)//or
tableEnv.registerTableSource("table2", ...)//or
tableEnv.registerExternalCatalog("extCat", ...)
//register an output Table
tableEnv.registerTableSink("outputTable", ...);
//create a Table from a Table API query
val tapiResult = tableEnv.scan("table1").select(...)
//Create a Table from a SQL query
val sqlResult = tableEnv.sqlQuery("SELECT ... FROM table2 ...")
//emit a Table API result Table to a TableSink, same for SQL result
tapiResult.insertInto("outputTable")
//execute
env.execute()