中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是SQL-to-SQL翻譯器

發布時間:2021-10-09 17:28:38 來源:億速云 閱讀:134 作者:iii 欄目:數據庫

本篇內容介紹了“什么是SQL-to-SQL翻譯器”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

什么是SQL-to-SQL翻譯器

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

什么是SQL-to-SQL翻譯器

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

什么是SQL-to-SQL翻譯器

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

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

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

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

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

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

DEMO:

public static void main(String[] args) throws IOException {       //輸入       FileSourceFunction fileSourceFunction = new FileSourceFunction();       fileSourceFunction.init(new File("fff.txt"));        //輸出       PrintlnSinkFunction<PrintStream> printSinkFunction = new PrintlnSinkFunction();       ListSinkFunction listSinkFunction = new ListSinkFunction();   ansformPepline tp = new TransformPepline();   //添加輸入輸出 .addSource(fileSourceFunction)               .addSink(printSinkFunction)               .addSink(listSinkFunction);   //定制轉換動作       tp.addSourceMapFunction(new Function<String, String>() {           SqlTransExecManager sqlTransExecManager = new SqlTransExecManager().build();           @Override           public String apply(String s) {               return sqlTransExecManager.doParseAndTransform(s).getTargetSql();           }       });       //執行       tp.execute();       System.out.println(listSinkFunction.getLists());   }

“什么是SQL-to-SQL翻譯器”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

庐江县| 宽城| 高淳县| 松滋市| 虞城县| 娄底市| 汶上县| 新巴尔虎右旗| 琼结县| 丁青县| 绥芬河市| 郸城县| 阆中市| 西丰县| 手游| 商城县| 大理市| 安平县| 平度市| 辰溪县| 军事| 涞水县| 神池县| 孙吴县| 永嘉县| 诸暨市| 桦川县| 巩留县| 仲巴县| 龙山县| 晋江市| 沿河| 富民县| 武鸣县| 南靖县| 海城市| 昂仁县| 马关县| 苏尼特右旗| 临洮县| 遂川县|