使用DataX将.csv文件的数据读入Mysql数据库
一:DataX下载
下载页面地址:https://pan.baidu.com/s/10J83j25_ohC4O3XHl9diDQ
提取码: cq6n
二:安装
将下载后的压缩包直接解压安装到电脑上就可以了
三:测试
要想运行datax先要安装python环境:
检验是否存在python环境在cmd中输入python就会知道如果已经有python环境就如下所示出现版本等信息;
进入安装好的datax目录下bin目录中,里面有datax.py文件,可以在cmd中测试(此处是我自己的目录,具体根据自己的目录来输入命令):
python E:\大数据清洗工具\DataX\datax\bin\datax.py E:\大数据清洗工具\DataX\datax\job\job.json
下面是成功截图
以上运行结果乱码:在命令行输入:
<span> </span>CHCP
65001
另外,如果你的python版本是3.x的话,则需要修改一下bin文件夹下的三个.py文件,参考链接地址为:https://github.com/HxYyWw/DatatX_python3/tree/master
四:应用(csv文件写入mysql)
csv文件
数据库建表
test.json文件
{ "job": { "setting": { "speed": { "channel": 3 } }, "content": [ { "reader": { "name": "txtfilereader", "parameter": { "path":["C:/Users/ASUS/Desktop/test.csv"], "encode":"gbk", "column" : [ { "index":0, "type":"string" },{ "index":1, "type":"string" } ], "fieldDelimiter":"," } }, "writer": { "name": "mysqlwriter", "parameter": { "writeMode": "insert", "username": "root", "password": "995893", "column": [ "name", "value" ], "preSql": [ "truncate table datax" ], "connection": [ { "jdbcUrl": "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8", "table": [ "datax" ] } ] } } } ] } }
其中test.json文件主要的两部分:reader和writer两部分。
1,reader解读
“name”属性对应着读取对象的类型
“parameter”中path属性对应读取对象的路径、encode属性对应读取对象的编码、column属性对应读取对象的表头(其中index属性对应表头的字段顺序,type对应字段的类型)、filedDelimiter属性对应读取对象的分隔符。
2,writer解读
“name”属性对应着读取对象的类型
“parameter”中writeMote属性表示操作、username属性对应MySQL的用户名、password对应MySQL的密码、column对应的是表头字段(注:这里的字段顺序需要和读取对象的顺序一样)、preSql属性表示写入前进行的sql语句、connection属性中jdbcUrl表示数据库的连接路径,table表示表名
cmd运行命令:
1 python E:\大数据清洗工具\DataX\datax\bin\datax.py E:\大数据清洗工具\DataX\datax\job\test.json
运行结果:
数据库中
如果连接数据库失败了,可能是没有jar包,在lib里放上连接Mysql数据库的jar包就好了。