这是我使用sqoop的导入命令:
sqoop import-all-tables --connect jdbc:mysql://10.11.11.15:6306/siki_asmet?serverTimezone=Asia/Jakarta --username micronics -P --hive-import --warehouse-dir /warehouse/siki --hive-database siki_ods --exclude-tables "Sheet1$" --m 1;
当我运行上述命令时,出现以下错误:SemanticException Line 1:17 Invalid path ''hdfs://master.lpjk.com:8020/warehouse/siki/_asdamkindo_personal_ska_pendidikan'':
No files matching path
hdfs://master.lpjk.com:8020/warehouse/siki/_asdamkindo_personal_ska_pendidikan (state=42000,code=40000)
但是当我再次运行相同的sqoop命令时,它说该文件已经存在。
最佳答案
我解决了我的问题。在我的情况下,talbes的名称之一以字符下划线“_”开头,因此存在一个问题,即在存储文件副本的hdfs目录的路径中自动添加2个单引号。
我通过删除下划线字符更改了列的名称,现在可以将表导入到Hive数据库中。我认为像这样的特殊字符在Hive或HDFS中不容易解析。
关于mysql - 错误:使用Sqoop将所有表从MariaDB导入到Hive数据库时,文件路径无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64044053/