日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

2021年大数据Flink(三十五):​​​​​​​Table与SQL ​​​​​​案例二

發布時間:2023/11/28 生活经验 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021年大数据Flink(三十五):​​​​​​​Table与SQL ​​​​​​案例二 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

案例二

需求

代碼實現-SQL

代碼實現-Table


案例二

需求

使用SQL和Table兩種方式對DataStream中的單詞進行統計

代碼實現-SQL

package cn.it.sql;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.Table;
import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;import static org.apache.flink.table.api.Expressions.$;/*** Author lanson* Desc*/
public class FlinkSQL_Table_Demo02 {public static void main(String[] args) throws Exception {//1.準備環境StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);//2.SourceDataStream<WC> input = env.fromElements(new WC("Hello", 1),new WC("World", 1),new WC("Hello", 1));//3.注冊表tEnv.createTemporaryView("WordCount", input, $("word"), $("frequency"));//4.執行查詢Table resultTable = tEnv.sqlQuery("SELECT word, SUM(frequency) as frequency FROM WordCount GROUP BY word");//5.輸出結果//toAppendStream doesn't support consuming update changes which is produced by node GroupAggregate//DataStream<WC> resultDS = tEnv.toAppendStream(resultTable, WC.class);DataStream<Tuple2<Boolean, WC>> resultDS = tEnv.toRetractStream(resultTable, WC.class);resultDS.print();env.execute();}@Data@NoArgsConstructor@AllArgsConstructorpublic static class WC {public String word;public long frequency;}
}

代碼實現-Table

package cn.it.sql;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.Table;
import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;import static org.apache.flink.table.api.Expressions.$;/*** Author lanson* Desc*/
public class FlinkSQL_Table_Demo03 {public static void main(String[] args) throws Exception {//1.準備環境StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);//2.SourceDataStream<WC> input = env.fromElements(new WC("Hello", 1),new WC("World", 1),new WC("Hello", 1));//3.注冊表Table table = tEnv.fromDataStream(input);//4.執行查詢Table resultTable = table.groupBy($("word")).select($("word"), $("frequency").sum().as("frequency")).filter($("frequency").isEqual(2));//5.輸出結果DataStream<Tuple2<Boolean, WC>> resultDS = tEnv.toRetractStream(resultTable, WC.class);resultDS.print();env.execute();}@Data@NoArgsConstructor@AllArgsConstructorpublic static class WC {public String word;public long frequency;}
}

總結

以上是生活随笔為你收集整理的2021年大数据Flink(三十五):​​​​​​​Table与SQL ​​​​​​案例二的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。