ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 64
2021-09-29 16:15:31,487 INFO hive.HiveImport: FAILED: SemanticException Line 2:17 Invalid path ''hdfs://192.168.8.131:9000/user/root/_sqoop/0907b3ccaf7e484d8f955412b67205cc_origin_test1'': No files matching path hdfs://192.168.8.131:9000/user/root/_sqoop/0907b3ccaf7e484d8f955412b67205cc_origin_test1
2021-09-29 16:15:32,236 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 64
at org.apache.sqoop.hive.HiveImport.executeExternalHiveScript(HiveImport.java:389)
at org.apache.sqoop.hive.HiveImport.executeScript(HiveImport.java:339)
at org.apache.sqoop.hive.HiveImport.importTable(HiveImport.java:240)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:514)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
在使用sqoop从MySQL导入数据到Hive时候报错:java.io.IOException: Hive exited with status 64
解决方案:问题出现的原因是从MySQL导入数据的时候,数据虽然没有进入Hive,但是已经在HDFS上创建了对应的文件,这个文件是一个临时文件,它的作用就是将MySQL导过来的数据,再导入到Hive中去。我们可以到192.168.8.131:9870去查看,路径是/user/root/origin_test1(对应hive数据库的名字),然后把这个目录删除。
输入命令删除HDFS上的这个临时文件:
hadoop fs -rmr /user/root/origin_test1
再次执行Sqoop,发现没有报错,成功导入。