整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Kettle(PDI)转换中输出之自动文档输出详解

Kettle(PDI)转换中输出之自动文档输出详解

Automatic documentation output(自动文档输出)此步骤用于为一个或多个转换或作业生成描述性文档。这可以用来自动生成关于作业和转换用途的文档,或者在它们随时间变化时存档它们的行为。

它接受文件名和文件类型(转换或作业)的列表作为输入,并生成一组相应的文档文件,这些文件可选地包含诸如转换名称、描述、创建日期、作业或转换图、日志配置细节等详细信息。

此步骤可用于查询基于文件的资源库和数据库或DI资源库,并与获取资源库配置步骤结合使用。

选项

自动文档输出

Automatic documentation output(自动文档输出)步骤有以下选项:

Step name(步骤名称):在画布上指定Automatic documentation output(自动文档输出)步骤的唯一名称。您可以自定义名称或将其保留为默认名称。

File name field(文件名字段):选择包含要为其生成文档的文件名称的输入字段。

File type field(文件类型字段):选择包含文件类型(转换或作业)的输入字段。

Target filename(目标文件名):为生成的文档指定目标位置和文件名。

Output type(输出类型):为生成的文档选择输出类型(PDF、HTML、DOC、Excel、CSV或METADATA)。注意:输出类型METADATA返回一个名为meta的字段,该字段是对象的序列化实例,具体取决于对象类型,例如TransMeta或JobMeta。

Include the name?(包含名称):定义是否在生成的文档中包含文件名。

Include the description?(包含描述):选择在生成的文档中包含描述(可以通过编辑->设置来修改描述)。

Include the extended description?(包含扩展描述):选择在生成的文档中包含扩展的描述(可以通过编辑->设置来修改扩展的描述)。

Include the creation date and user?(包含用户名和文档生成日期):选择在生成的文档中包含创建者的创建日期和用户名。

Include the modification date and user?(包含用户名和文档修改日期):选择包含对文件进行最后修改的日期和修改它的用户。

Include the image?(包含图片):选择在生成的文档中包含作业或转换图。

Include logging configuration details?(包含详细日志设置):选择包含用于在转换或作业中进行日志记录的连接的摘要。

Include the last execution result?(包含上一次执行结果):选择包含最后一次执行结果的摘要,例如它是成功完成还是失败结束。

示例

1.从示例目录(和子文件夹)收集ktrs和kjbs列表。

首先添加一个获取文件名的输入步骤,并在已经选择文件名中添加:文件或目录:/data-integration/samples/transformations和data-integration/samples/jobs/run_all,正则表达式:Run.*\.kjb$|General.*\.ktr$

然后点击获取文件名,进行测试获取的文件名列表。


2.将扩展名映射到文件类型(转换或作业)

添加一个转换中的值映射步骤。并在获取文件名步骤到值映射步骤之间建立一个节点连接。


建立节点连接

在值映射的步骤上配置使用的字段名为extension,目标字段名(空=覆盖):FileType,字段值设置:源值为:ktr,目标值为:Transformation;源值为:kjb,目标值为:Job。

3.从数据流中删除不必要的字段

添加一个转换中的字段选择步骤,并建立从值映射到字段选择步骤的节点连接。

建立节点连接

在字段选择的步骤上,点击获取选择的字段,获取上一步骤中的所有字段列表,然后删除多余字段,只保留filename和FileType。

选择获取的字段名

4.为所有输入行生成HTML文档

添加一个输出中的自动文档输出步骤,并建立从字段选择步骤到自动文档输出步骤的节点连接。


建立节点连接

在自动文档输出步骤上设置文件名字段:filename;文件类型字段:FileType,目标文件名:F:/kettle-autodoc.html;输出类型为:HTML。选择包含名称、包含描述、包含用户名和文档修改日期、包含图片。

设置自动文档输出

最后点击运行,执行文档自动生成。


运行效果

生成文档

注意:示例目录中的一些示例要求您在运行示例数据集之前设置它们。如果没有设置示例数据,运行此示例时可能会出现错误,表明MySQL中的数据库不存在。可以将已经选择文件名列表更改为指向另一个包含您希望为其生成文档的ktrs和kjbs的位置。

介: Kettle是一款开源的ETL工具,纯Java实现,可以在Windows、Unix和Linux上运行,提供图形化的操作界面,可以通过拖拽控件的方式,方便地定义数据传输的拓扑 。基本讲介绍基于Kettle的MaxCompute插件实现数据上云。

Kettle版本:8.2.0.0-342

MaxCompute JDBC driver版本:3.2.8

Setup

  1. 下载并安装Kettle
  2. 下载MaxCompute JDBC driver
  3. 将MaxCompute JDBC driver置于Kettle安装目录下的lib子目录(data-integration/lib)
  4. 下载并编译MaxCompute Kettle plugin:https://github.com/aliyun/aliyun-maxcompute-data-collectors
  5. 将编译后的MaxCompute Kettle plugin置于Kettle安装目录下的lib子目录(data-integration/lib)
  6. 启动spoon

Job

我们可以通过Kettle + MaxCompute JDBC driver来实现对MaxCompute中任务的组织和执行。

首先需要执行以下操作:

  1. 新建Job
  2. 新建Database Connection
    JDBC连接串格式为:jdbc:odps:?project=
    JDBC driver class为:com.aliyun.odps.jdbc.OdpsDriver
    Username为阿里云AccessKey Id
    Password为阿里云AccessKey Secret
    JDBC更多配置见:https://help.aliyun.com/document_detail/161246.html

之后,可以根据业务需要,通过SQL节点访问MaxCompute。下面我们以一个简单的ETL过程为例:

Create table节点的配置如下:

需要注意:

  1. 这里Connection需要选择我们配置好的
  2. 不要勾选Send SQL as single statement

Load from OSS节点配置如下:

需要注意的点同Create table节点。有关更多Load的用法,见:https://help.aliyun.com/document_detail/157418.html

Processing节点配置如下:

需要注意的点同Create table节点。

Transformation

我们可以通过MaxCompute Kettle plugin实现数据流出或流入MaxCompute。

首先新建Transformation,之后新建Aliyun MaxCompute Input节点,配置如下:

在MaxCompute中新建一张空表,schema与test_partition_table一致。

新建Aliyun MaxCompute Output节点,配置如下:

执行Transformation,数据便从test_partition_table被下载,后被上传至test_partition_table_2。

其他

置MaxCompute flags设

如图,在执行DDL/DML/SQL之前,可以通过set key=value;的方式配置flags。

Script模式

暂时无法支持

「链接」

本文为阿里云原创内容,未经允许不得转载。

介: Kettle是一款开源的ETL工具,纯java实现,可以运行于Windows, Unix, Linux上运行,提供图形化的操作界面,可以通过拖拽控件的方式,方便地定义数据传输的拓扑。Kettle支持丰富的数据输入输出源,数据库支持Oracle,MySql,DB2等,也支持业界各种开源的大数据系统,例如HDFS, HBase, Cassandra, MongoDB等。本文将介绍如何利用MaxCompute的插件无缝对接阿里云的大数据计算平台——MaxCompute。

Setup

  1. 下载并安装Kettle
  2. 下载MaxCompute JDBC driver
  3. 将MaxCompute JDBC driver置于Kettle安装目录下的lib子目录(data-integration/lib)
  4. 启动spoon

Job

我们可以通过Kettle + MaxCompute JDBC driver来实现对MaxCompute中任务的组织和执行。

首先需要执行以下操作:

  1. 新建Job
  2. 新建Database Connection
    JDBC连接串格式为:jdbc:odps:<maxcompute_endpoint>?project=<maxcompute_project_name>
    JDBC driver class为:com.aliyun.odps.jdbc.OdpsDriver
    Username为阿里云AccessKey Id
    Password为阿里云AccessKey Secret
    JDBC更多配置见:https://help.aliyun.com/document_detail/161246.html

之后,可以根据业务需要,通过SQL节点访问MaxCompute。下面我们以一个简单的ETL过程为例:

Create table节点的配置如下:

需要注意:

  1. 这里Connection需要选择我们配置好的
  2. 不要勾选Send SQL as single statement

Load from OSS节点配置如下:

需要注意的点同Create table节点。有关更多Load的用法,见:https://help.aliyun.com/document_detail/157418.html

Processing节点配置如下:

需要注意的点同Create table节点。

「链接」

本文为阿里云原创内容,未经允许不得转载。