成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

又談SQL-to-SQL翻譯器

運維 數據庫運維
在轉換過程中,我們引用了DSL,來承接前面的SQL解析,以及后續的SQL生成,于是,自然的將轉換分成了2段,即輸入轉換(SourceMapper) 和 輸出轉換(SinkMapper)而定義轉換與否,以及轉換動如何完成,我們可以輕松的通過java自帶的 Function 接口來實現。

[[391967]]

這次從一張圖說起,就是下面這幅圖,當我畫完他的時候,我就感覺無比的舒爽。讓整個執行流程,可控,并且可擴展。還記得當初上學的時候,數學建模課上,老師為了“求證一張四條腿的椅子,四條腿處在一個平面上的概率”,寫了滿滿四黑板板書,然后心滿意足的,跟一臉蒙的我們說,“看,多美啊!”。我現在有點理解他當時的狀態了。

有眼尖的同學,可能已經發現了,沒錯,這里借鑒了Flink的流程設計。

簡單的說,輸入-> 轉換 -> 輸出 經典的三段論式構造。

這里我們把輸入 SourceFunction 和 輸出 SinkFunction 進行了抽象,但是并沒有像Flink那樣,輸入輸出集成相同的接口,可以自由轉換,從需求上來看,是沒有必要Sql -to- Sql -to- Sql 的必要的。

在轉換過程中,我們引用了DSL,來承接前面的SQL解析,以及后續的SQL生成,于是,自然的將轉換分成了2段,即輸入轉換(SourceMapper) 和 輸出轉換(SinkMapper)

而定義轉換與否,以及轉換動如何完成,我們可以輕松的通過java自帶的 Function 接口來實現。

一個輸入是可以接對接N條輸出的,輸出的方向也完全由實現 SinkFunction 的對象來自實現。

如果后續,把任務并行化,Pipline 對外提供高階函數的話, 畫美不看...

DEMO:

  1. public static void main(String[] args) throws IOException { 
  2.       //輸入 
  3.       FileSourceFunction fileSourceFunction = new FileSourceFunction(); 
  4.       fileSourceFunction.init(new File("fff.txt")); 
  5.  
  6.       //輸出 
  7.       PrintlnSinkFunction<PrintStream> printSinkFunction = new PrintlnSinkFunction(); 
  8.       ListSinkFunction listSinkFunction = new ListSinkFunction(); 
  9.  
  10.  
  11. ansformPepline tp = new TransformPepline(); 
  12.   //添加輸入輸出 
  13. .addSource(fileSourceFunction) 
  14.               .addSink(printSinkFunction) 
  15.               .addSink(listSinkFunction); 
  16.   //定制轉換動作 
  17.       tp.addSourceMapFunction(new Function<String, String>() { 
  18.           SqlTransExecManager sqlTransExecManager = new SqlTransExecManager().build(); 
  19.           @Override 
  20.           public String apply(String s) { 
  21.               return sqlTransExecManager.doParseAndTransform(s).getTargetSql(); 
  22.           } 
  23.       }); 
  24.       //執行 
  25.       tp.execute(); 
  26.       System.out.println(listSinkFunction.getLists()); 
  27.   } 

本文轉載自微信公眾號「麒思妙想」,可以通過以下二維碼關注。轉載本文請聯系麒思妙想公眾號。

 

責任編輯:武曉燕 來源: 麒思妙想
相關推薦

2020-12-09 05:24:28

SQL翻譯器程序

2016-12-21 08:40:53

微軟萬能翻譯器

2023-08-07 08:00:00

開源ChatGPTSQL

2010-09-27 15:36:48

2023-05-25 14:10:54

AI人工智能

2011-03-15 17:36:24

SQL Server數據遷移云端

2009-06-10 09:16:05

Bing在線翻譯Google在線翻譯比較

2010-09-03 13:21:01

SQL刪除

2021-08-26 15:05:01

微軟翻譯文言文微軟亞洲研究院

2017-08-31 12:07:52

微軟

2009-05-06 17:31:17

SQL EnlightT-SQL分析器

2010-09-27 10:55:01

SQL事件探查器

2020-06-12 14:40:45

開源技術 翻譯

2010-06-18 09:55:06

SQL Server

2011-03-28 10:05:57

sql觸發器代碼

2022-09-25 11:46:52

瀏覽器擴展程序廣告攔截器

2010-06-23 09:23:56

SQL Server

2013-11-21 09:28:02

比特幣比特幣安全

2010-06-18 09:08:29

SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产亚洲精品精品国产亚洲综合 | 欧美亚洲国产一区二区三区 | 国产一区二区免费 | 国产91在线精品 | 国产高清在线观看 | 亚洲精品一区二三区不卡 | 国产精品高清在线 | 中文天堂在线观看 | 91在线视频一区 | 日本精品久久久久久久 | 噜久寡妇噜噜久久寡妇 | 中文字幕亚洲精品 | 亚洲一区二区三区国产 | 国产日韩一区二区三免费高清 | 亚洲视频免费在线播放 | 亚洲免费观看视频网站 | 国产免费自拍 | 久久一区二区三区四区 | 国产欧美一区二区三区久久 | 日韩电影免费在线观看中文字幕 | 国产精品久久久久久吹潮 | 免费成人av网站 | 欧美亚洲网站 | 精国产品一区二区三区四季综 | 在线啊v | 色网站在线免费观看 | 日韩在线精品视频 | 日韩网站免费观看 | 日韩欧美国产一区二区三区 | 国产精品免费视频一区 | 精品一区在线免费观看 | 香蕉久久a毛片 | 国产线视频精品免费观看视频 | 亚洲欧美一区二区三区在线 | 国产精品美女久久久久久久久久久 | 草久在线视频 | 久热久草 | 91av在线免费观看 | 成人超碰 | 日日干日日色 | 一区二区免费在线观看 |