本文介绍使用国产的ETL工具ETLCloud平台来读取文件文件中的数据到mysql数据库中,首先需要安装ETLCloud的社区版本,然后在示例应用中创建一个文件读取流程如下:
点击“流程设计”后打开流程图如下
打开文本文件读取节点配置要读取的文件目录和文件名称
点击文件及目录管理可以可以在服务器上创建文件夹并可以上传本地电脑文件到服务器上
我们这里上传了一个简单的文本文件格式如下:
文件节点中选择用逗号分隔就可以了如果是其他分隔符可以自已填写就可以了
这种是比较简单的文本文件,如果文件内容很复杂(如分隔符不规则或者每行数据不对称等)可以用自定义JS脚本来解析文件内容
用JS把字符串切成数组然后返回一个json字符串即可,然后再双击数据库表输出节点中的设置如下:
选择一个mysql的数据源,数据源是在数据源管理中事先统一创建好的,数据库表如果不存在可以输入一个新的数据库表名,让ETL自动建表即可
输出字段如果没有可以导入前面节点中设置的字段即可,避免手动一个一个输入
关键要选中自动建表这个选项,经过上面的配置即可读取文件到数据库中了
点击运行后即可看到读取了3条数据到mysql数据库表中,再打开数据库表输出节点后点击数据预览节点就可以看到数据库表中已经有3条数据了
(文本文件读取到数据库后的效果)
其他注意事项:
- 如果文件很大可以下载安装大文件读取组件他可以分页读取,当前这个组件只能一次性全部读取如果文件很大会比较耗内存
- 如果是Excel文件则要使用专有的Excel文件读取组件
- 如果想监听文件当有文件变动(新增、修改)时立即读取文件内容可以在文件夹中启动监听功能,这里的文件名就不用写死了
只需选择监听到的文件进行读取即可,非常方便
ETLCloud社区版本可以到官方网站上下载