91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

kettle的文件批量入庫功能是怎樣實現的

發布時間:2021-12-24 17:14:31 來源:億速云 閱讀:257 作者:柒染 欄目:編程語言

kettle的文件批量入庫功能是怎樣實現的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

kettle 除了作為 ETL 工具外,還有很多數據處理方面的實用功能,下面介紹幾個實用的小功能。

1. 文件批量入庫
該功能可以將一個目錄下的全部或部分文件加載到數據庫中。

第一步: “獲取文件名” 步驟獲取一個目錄下的文件名,使用一個正則表達式來指定文件名。

指定了 E:/opensource/kettle-trunk/ui/images 目錄下所有以 .png 結尾的文件名。在這個步驟里創建了下面幾個字段來描述所有獲取的文件:

FILENAME,
SHORT_FILENAME,
PATH,
TYPE,
EXISTS,
ISHIDDEN,
ISREADABLE,
ISWRITEABLE,
LASTMODIFIEDTIME,
SIZE,
EXTENSION,
URI,
ROOTURI

第二步: 使用一個 javascript 腳本,讀取文件內容,如果你不想把文件內容入庫,可以不用這一步。下面是 javascript 腳本的內容:


file = new Packages.java.io.File(filename.getString());
fileInputStream = new Packages.java.io.FileInputStream(file);
var content = Packages.org.pentaho.di.core.Const.createByteArray(file.length());
fileInputStream.read(content, 0, file.length());
fileInputStream.close();

不要忘了,選中 “獲取變量” 按鈕,將 content 也作為一個輸出字段, 類型 Binary。

第三步:“表輸出”,將前兩個步驟獲得的字段,輸出到數據庫的表里。如果數據庫里沒有相應的表,需要使用 “SQL” 按鈕獲得并執行創建表的 SQL 語句。

通過這三個步驟可以將文件名,文件屬性,文件內容都保存到數據庫里,

如果文件是二進制文件,文件內容一般保存為 BLOB 、Binary 、Image 等類型。

如果文件是字符型文件,文件內容一般保存為 CLOB 、varchar、Text 等類型。

注意:因為該方法是一次性將文件內容都讀到了內存中,因此只能處理比較小的文件。

看完上述內容,你們掌握kettle的文件批量入庫功能是怎樣實現的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

新源县| 铅山县| 二连浩特市| 安新县| 新闻| 张家界市| 宝坻区| 延津县| 隆德县| 宁海县| 聂荣县| 柏乡县| 开阳县| 镇沅| 余干县| 东莞市| 达尔| 社会| 疏勒县| 山阳县| 汉阴县| 玉门市| 探索| 久治县| 巴青县| 商南县| 昭觉县| 蓬溪县| 霍邱县| 侯马市| 达日县| 东阿县| 东至县| 曲麻莱县| 夏邑县| 梨树县| 静宁县| 九江市| 中阳县| 金溪县| 古蔺县|