Kettle實現動態SQL
Kettle是一種開源的ETL工具
需求:
每天新建一個日誌表,使用Kettle匯出最新一天的資料。
模擬環境如下
create table tab_20140901 (id varchar(20));
create table tab_20140902 (id varchar(20));
create table tab_20140903 (id varchar(20));
create table tab_20140904 (id varchar(20));
insert into tab_20140901 values(1);
insert into tab_20140902 values(2);
insert into tab_20140903 values(3);
insert into tab_20140904 values(4);
首先,建立一個Job
獲取最新的表的轉換:
SQL:
匯出最新表的資料的轉換
他先獲取上個轉換的變數.
寫入變數,實現動態SQL
執行Job,檢視SQL檔案輸出如下
INSERT INTO t(id) VALUES ('4');
後來經過測試,第二個轉換不使用 "獲取變數"也可以
參考:
http://blog.csdn.net/rotkang/article/details/21008271
需求:
每天新建一個日誌表,使用Kettle匯出最新一天的資料。
模擬環境如下
create table tab_20140901 (id varchar(20));
create table tab_20140902 (id varchar(20));
create table tab_20140903 (id varchar(20));
create table tab_20140904 (id varchar(20));
insert into tab_20140901 values(1);
insert into tab_20140902 values(2);
insert into tab_20140903 values(3);
insert into tab_20140904 values(4);
首先,建立一個Job
獲取最新的表的轉換:
SQL:
-
SELECT table_name
-
FROM information_schema.tables
-
WHERE table_schema = 'mvbox'
-
AND str_to_date(substr(table_name, 5), '%Y%m%d') = (
-
SELECT MAX(str_to_date(substr(table_name, 5), '%Y%m%d'))
-
FROM information_schema.tables
-
WHERE table_schema = 'mvbox'
- );
匯出最新表的資料的轉換
他先獲取上個轉換的變數.
寫入變數,實現動態SQL
執行Job,檢視SQL檔案輸出如下
INSERT INTO t(id) VALUES ('4');
後來經過測試,第二個轉換不使用 "獲取變數"也可以
參考:
http://blog.csdn.net/rotkang/article/details/21008271
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1270110/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- kettle從入門到精通 第六十五課 ETL之kettle 執行動態SQL語句,輕鬆實現全量&增量資料同步SQL
- SQL 如何實現動態的行列轉置SQL
- MyBatis標籤實現的動態SQL語句MyBatisSQL
- 關於IDEA使用xml實現動態sql的問題IdeaXMLSQL
- MyBatis進階--介面代理方式實現Dao 和動態SQLMyBatisSQL
- Mybatis 裡對映檔案的動態 SQL 語句,實現if,where,foreache的SQL語句動態拼接查詢MyBatisSQL
- kettle 實現mysql單表增量同步MySql
- Mybatis連線池_動態sql語句_多表查詢實現MyBatisSQL
- MyBatis 動態 SQLMyBatisSQL
- MybBatis動態SQLBATSQL
- Mybatics動態sqlBATSQL
- mybatis動態SQLMyBatisSQL
- kettle從入門到精通 第六十九課 ETL之kettle kettle cdc mysql,輕鬆實現實時增量同步MySql
- 動態棧的實現
- Feign實現動態URL
- MyBatis(七) 動態SQLMyBatisSQL
- 1 Mybatis動態SQLMyBatisSQL
- Mybatis--動態SQLMyBatisSQL
- GitLab 實現動態 Environment URLGitlab
- Avalonia 實現動態托盤
- 手動實現ArrayList動態陣列陣列
- mybatis動態sql總結MyBatisSQL
- Mybatis-06 動態SqlMyBatisSQL
- CGLib動態代理原理及實現CGLib
- Flask SocketIO 實現動態繪圖Flask繪圖
- 實現動態大數結構
- Laravel 動態屬性的實現Laravel
- HTML+CSS實現動態相簿HTMLCSS
- RPC核心實現原理-動態代理RPC
- vue 實現動態拓撲圖Vue
- MyBatis框架之SQL對映和動態SQLMyBatis框架SQL
- 【react】實現動態表單中巢狀動態表單React巢狀
- MyBatis對動態SQL的支援MyBatisSQL
- mybatis動態sql與分頁MyBatisSQL
- Java-Mybatis動態SQL整理JavaMyBatisSQL
- Gbase 8s 動態 SQLSQL
- Mybatis介紹之 動態SQLMyBatisSQL
- Laravel 如何實現既能靜態呼叫,又能動態呼叫Laravel
- 動手編寫—動態陣列(Java實現)陣列Java