sqoop import --connect jdbc:mysql://192.168.160.130:3306/mydb --username root --password jqe6b6 --table news --hive-import --hive-table mydb.news --incremental append --check-column --last-value 0 --split-by id --target-dir /hdfs://zhaosai:9000/user/hive/warehouse/ne 23/06/07 17:15:24 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7 Missing argument for option: check-column
时间: 2023-08-16 07:04:39 浏览: 151
根据错误提示,缺少 `--check-column` 参数的值。请在 `--check-column` 参数后面指定一个有效的列名,例如:
```
sqoop import --connect jdbc:mysql://192.168.160.130:3306/mydb --username root --password jqe6b6 --table news --hive-import --hive-table mydb.news --incremental append --check-column id --last-value 0 --split-by id --target-dir /hdfs://zhaosai:9000/user/hive/warehouse/ne
```
在上面的命令中,我将 `--check-column` 参数的值设置为 `id`,因为您在 `--split-by` 参数中使用了 `id` 作为分片列。
请注意,如果您使用的是自定义查询而不是简单的表导入,则需要使用 `--query` 参数来指定查询语句,并在查询语句中包含 `--check-column` 和 `--split-by` 参数的值。
相关问题
sqoop import --connect jdbc:mysql://192.168.160.130:3306/mydb --username root --password jqe6b6 --table news --hive-import --hive-table mydb.news --incremental append --check-column --last-value 0 --split-by news --target-dir /hdfs://zhaosai:9000/user/hive/warehouse/news
根据您提供的 Sqoop 命令,您需要指定一个有效的 `--check-column` 参数,以便 Sqoop 使用该列来确定哪些行是新的或更新的。在您的命令中,`--check-column` 参数后面缺少列名,因此导致了错误。
请在 `--check-column` 参数后面指定一个有效的列名,例如:
```
sqoop import --connect jdbc:mysql://192.168.160.130:3306/mydb --username root --password jqe6b6 --table news --hive-import --hive-table mydb.news --incremental append --check-column id --last-value 0 --split-by news --target-dir /hdfs://zhaosai:9000/user/hive/warehouse/news
```
在上面的命令中,我将 `--check-column` 参数的值设置为 `id`,因为在您的表结构中没有一个适合作为检查列的整数类型列或时间戳列。
请注意,如果您使用的是自定义查询而不是简单的表导入,则需要使用 `--query` 参数来指定查询语句,并在查询语句中包含 `--check-column` 和 `--split-by` 参数的值。
mysql> sqoop import --connect jdbc:mysql://192.168.204.128:3306/ua1 --username root -P --table EMP -target-dir /user/yyl/zhangsan -m 1; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sqoop import --connect jdbc:mysql://192.168.204.128:3306/ua1 --username root -P ' at line 1
这个错误提示看起来像是在 MySQL 命令行中执行了 Sqoop 命令,导致语法不正确。Sqoop 是一款用于在 Hadoop 生态系统中实现关系型数据库和 Hadoop 之间数据的传输的工具,需要在命令行中执行,而非 MySQL 命令行。请先退出 MySQL 命令行,再在命令行中执行该命令。另外,您需要确认您的 Sqoop 已正确安装和配置,并且目标 Hadoop 集群已正常运行。
阅读全文