ETL

KETTLE 文本文件导入数据库报错..

0
环境:mysql 5.6.15
     jdk: 1.8
     kettle:6.0 
    mysql-connector-java:5.1.25
问题描述: 
    将csv格式的文本文件通过批量加载导入mysql的时候报错
  2016/03/24 10:10:13 - MySQL 批量加载.0 - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : Error in step, asking everyone to stop because of:
2016/03/24 10:10:13 - MySQL 批量加载.0 - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : org.pentaho.di.core.exception.KettleException: 
2016/03/24 10:10:13 - MySQL 批量加载.0 - java.io.IOException: Cannot run program "mkfifo": CreateProcess error=2, 系统找不到指定的文件。
2016/03/24 10:10:13 - MySQL 批量加载.0 - Cannot run program "mkfifo": CreateProcess error=2, 系统找不到指定的文件。
2016/03/24 10:10:13 - MySQL 批量加载.0 - 
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at org.pentaho.di.trans.steps.mysqlbulkloader.MySQLBulkLoader.execute(MySQLBulkLoader.java:134)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at org.pentaho.di.trans.steps.mysqlbulkloader.MySQLBulkLoader.processRow(MySQLBulkLoader.java:267)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at java.lang.Thread.run(Thread.java:745)
2016/03/24 10:10:13 - MySQL 批量加载.0 - Caused by: java.io.IOException: Cannot run program "mkfifo": CreateProcess error=2, 系统找不到指定的文件。
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at java.lang.Runtime.exec(Runtime.java:620)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at java.lang.Runtime.exec(Runtime.java:450)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at java.lang.Runtime.exec(Runtime.java:347)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at org.pentaho.di.trans.steps.mysqlbulkloader.MySQLBulkLoader.execute(MySQLBulkLoader.java:87)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     ... 3 more
2016/03/24 10:10:13 - MySQL 批量加载.0 - Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at java.lang.ProcessImpl.create(Native Method)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at java.lang.ProcessImpl.start(ProcessImpl.java:137)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
2016/03/24 10:10:13 - MySQL 批量加载.0 -     ... 7 more
2016/03/24 10:10:13 - MySQL 批量加载.0 - 完成处理 (I=0, O=0, R=1, W=0, U=0, E=1
2016/03/24 10:10:13 - df - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : 错误被检测到!
2016/03/24 10:10:13 - Spoon - 转换完成!!
2016/03/24 10:10:13 - df - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : 错误被检测到!
2016/03/24 10:10:13 - df - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : 错误被检测到!
2016/03/24 10:10:13 - df - 转换被检测
    。。。没头绪中。。请老师帮忙 谢谢
已邀请:
0

子建 - Kettle讲师、顾问、数据仓库架构 2016-03-24 回答

建议先直接用表输出,测试一下 ,然后在用批量加载,报错提示的是CSV文件的问题,检查一下吧
0

红旗下的匪徒 2016-03-24 回答

查看你的CSV格式的数据文件格式是否正确,分隔符、是否有空等等,可以先预览一下看是否报错。

要回复问题请先登录注册