在kettle中使用內存數據庫H2

先前一直使用的是postgresql,由於網速的緣由,因此打算將數據統一放到HDFS上,可是一條一條寫HDFS是很慢的,所有寫到本地文件再傳到HDFS上也是同樣慢,這樣一來就有了本文,將部分先放到內存數據庫中,而後再寫到HDFS上,這樣數據抽取和寫入的速度一下翻了好幾倍!好了,說說怎麼在kettle中使用H2html

先去下載H2,點擊下載
java

我測試的時候下的是windows版本,解壓後,執行h2/bin/h2.bat,執行成功後,會打開下圖的界面sql


紅框中的內容輸入什麼見下面代碼數據庫

Database URLs
Embedded  //嵌入式
jdbc:h2:~/test  'test' in the user home directory
jdbc:h2:/data/test  'test' in the directory /data
jdbc:h2:test  in the current(!) working directory
In-Memory //內存式
jdbc:h2:mem:test  multiple connections in one process
jdbc:h2:mem:  unnamed private; one connection
Server Mode  //服務器模式
jdbc:h2:tcp://localhost/~/test  user home dir
jdbc:h2:tcp://localhost//data/test  absolute dir
Server start:java -cp *.jar org.h2.tools.Server 
Settings  //配製模式(這個我很少用)
jdbc:h2:..;MODE=MySQL compatibility (or HSQLDB,...)
jdbc:h2:..;TRACE_LEVEL_FILE=3 log to *.trace.db

我先試用的是內存模式,可是試了之後才發現,H2支持的場景對我不適用,由於內存模式,要求全部的連接都在一個進程內,這對於kettle來講是不現實的,若是非要用,那隻能將建立表的語句,和使用表的模塊放到一個transform中,以下圖windows


看到了,最上面的圖標是建表語句,下面的是往表中插入數據,必須這樣使用,放到JOB中無效,只能在一個transform中,好了,看下圖看看咱們怎麼用kettle鏈接內存模式的H2服務器

以上這兩種方式均可以鏈接到內存模式的H2,選擇一種使用便可。tcp

下面說說適合我場景的嵌入式模式post

先看鏈接方式,只能這樣鏈接測試

使用嵌入式模式的好處是,建立表的模塊和入庫的模塊能夠在兩個不一樣的transform中,由於嵌入式的模式是將數據寫到默認的硬盤上了,好了就先寫到這兒了,快去試試,有啥問題,直接留言。
postgresql

相關文章
相關標籤/搜索