kettle的文件批量入库功能是怎样实现的(kettle,编程语言)

时间:2024-04-30 12:49:21 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    kettle%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%B9%E9%87%8F%E5%85%A5%E5%BA%93%E5%8A%9F%E8%83%BD%E6%98%AF%E6%80%8E%E6%A0%B7%E5%AE%9E%E7%8E%B0%E7%9A%84

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的文件批量入库功能是怎样实现的的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:高性能跨平台网络通信框架 HP-Socket 5.6.1怎么更新下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18