mysql - 错误:使用Sqoop将所有表从MariaDB导入到Hive数据库时,文件路径无效

标签 mysql hadoop hive sqoop

这是我使用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/

相关文章:

mysql - 如何在 MySQL 查询中的 where 中使用除法结果?

php - 具有许多连接的 Mysql 查询需要很长时间才能加载

bash - 如何在 HBase shell 中循环执行命令而不每次都调用 shell

hadoop - 安装 ambari 后 Hive 显示问题

php - 从表中选择所有甚至 null 并加入

MySQL COUNT() 还是 SUM()?

hadoop - 如何在 hadoop 流中跳过失败的 map task

java - HADOOP - 如何在 map 中动态加载类

hive - 在后台执行 HIVE 查询

hadoop - 描述锁定的配置单元表挂起时的查询