mysql - Sqoop导入 “--where”标志

标签 mysql hadoop sqoop

我尝试使用sqoop --where标志将特定的行从MySQL表导入到HDFS,但是结果不符合预期。

命令:

sqoop import \
  --connect "jdbc:mysql://XXXX.YYYY/XXXX/retail_db" \
  --username XXXX \
  --password XXXX \
  --query "select * from departments where \$CONDITIONS \
  --where "department_id < 5" \
  --target-dir /XXX/YYY/departments \
  --split-by department_id

MySQL表行:
department_id  department_name
-------------  ---------------
2              Fitness
3              Footwear
4              Apparel
5              Golf
6              Outdoors
7              Fanshop
8000           Test

运行该命令之后,理想的输出应该理想地是前3行,其Department_ids为2,3和4,但应导入所有行。谁能解释一下?

最佳答案

Sqoop不知道WHERE标志。

将查询更改为

  --query "select * from departments where \$CONDITIONS \
        department_id < 5 \
        AND \$CONDITIONS" \

并删除线
--where "department_id < 5" \

该查询应该工作正常。

关于mysql - Sqoop导入 “--where”标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35916332/

相关文章:

hadoop - Hadoop 的 HDFS 高可用性特性如何影响 CAP 定理?

mysql - Sqoop 导出不支持 --columns 参数

oracle - sqoop-连接到oracle并将数据导入IBM BigInsights中的HDFS

android - 将 MYSQL 连接到 Android studio

php - 使用 codeigniter 在表单上显示每个数据

java - 使用Hadoop/HDFS进行100万个生物特征(小型)文件比较

hadoop - 以压缩文件作为输入运行 hadoop。 hadoop 读取的数据输入不按顺序。数字格式异常

hadoop - Hadoop-3.0.0 与旧版本的 Hive、Pig、Sqoop 和 Spark 的兼容性如何

php - 从输出中删除\r\n

php - php数据库连接错误