# Excel 文件输入示例
本示例主要介绍 Excel 文件输入场景开发,该场景实现了将 Excel 表格中的数据输出到关系型数据库表中。主要步骤如下:
# 准备数据
准备一个 Excel 文件,例如:学籍信息.xls,在 MySQL 关系型数据库中创建表 t_xueji,SQL 脚本如下:
-- ----------------------------
-- Table structure for t_xueji
-- ----------------------------
DROP TABLE IF EXISTS t_xueji;
CREATE TABLE t_xueji (
id int(11) DEFAULT NULL,
xuehao varchar(255) DEFAULT NULL,
banji varchar(255) DEFAULT NULL,
xueji varchar(255) DEFAULT NULL,
xingbie int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
# 新建批量作业
点击资源树节点上的【...】,选择弹出菜单【新建批量作业】。
填写作业名称、选择作业类型"离线转换"。
# 画布中拖拽"Excel输入"和"关系型数据库输出"图元
分别用用鼠标拖拽"Excel输入"和"关系型数据库输出"图元到画布。当鼠标放置到画布中的"Excel输入"图元上时四周会显示"连接桩",此时拖住鼠标将"Excel输入"与"关系型数据库输出"连接起来。
# 配置"Excel输入"组件属性
在"Excel输入"图元上右键,点击【编辑】按钮,弹出"Excel输入"组件的弹窗。
通过下拉框选择"文件类型",支持两种:HDFS、LOCAL。本示例以 LOCAL 为例, 文件存放在 /home/localfiles/学籍信息.xls。
HDFS:文件统一存储在 HDFS 中。
LOCAL:文件存放在 DI Server 所在服务器的磁盘中。
配置好文件目录后点击【增加】按钮,然后点击【下一步】按钮。
点击【获取SQL查询语句】,选择一个表名后点击【确定】按钮,SQL 语句自动回填到编辑框。用户也可以自行编写 SQL 语句。
点击【获取字段】按钮设置字段定义列表,属性设置完毕请点击【确定】按钮。
# 配置"关系型数据库输出"组件属性
从下拉框中选择"数据源"。
从下拉框中选择"目标表"。用户也可以自行输入目标表,手工输入时请确保目标表存在,否则运行时会出错。
勾选【truncate】、【指定数据库字段】。
truncate:在数据同步前会先清空表。
指定数据库字段:当源表与目标表的字段名称不一样时,需要手工进行映射。
如果有更复杂的映射请点击【列映射】按钮进行映射。
如果需要添加新的字段映射时请点击【增加】按钮。
属性设置完毕请点击【确定】按钮。
# 通用配置
在通用配置中可以配置任务优先级、Worker 分组、命名参数、本地参数、超时告警。 修改属性后请务必点击【确定】按钮。
# 保存草稿
如果所有组件属性都已设置完毕,点击【保存】按钮,可以看到保存过的历史草稿,并可以随意切换草稿。(草稿只保存最近 10 个)
# 运行
点击【运行】按钮,可以运行已经开发完毕的场景,在日志栏可以看运行日志及运行结果。
或者查看数据库表,可以看到"学籍信息.xls"表中中的数据已经被同步到 t_xueji 表中。
# 提交版本
当草稿运行正常后,点击【提交】按钮可以将该版本提交到作业调度,每次修改提交都会生成新的版本,可以看到提交的历史版本,并可以随意切换版本。
提交后的版本,可以在作业调度中进行"定时"调度配置。