0

我的场景:我将在特定时间通过 sqoop 在 hdfs 中获取每天 100 条记录。但是,昨天我在那个特定时间只得到了 50 条记录,今天我需要在那个特定时间通过 sqoop 在 hdfs 中获取 50+100 条记录。请帮我。提前致谢。

4

2 回答 2

0

要处理这种情况,您需要按时添加 where 条件。没关系,记录数是多少。

您可以使用 --query 参数在 sqoop 导入命令中使用类似的东西:

sqoop import \
  --connect jdbc:mysql://localhost:3306/sqoop \
  --username sqoop \
  --password sqoop \
  --query 'SELECT * from records
                  WHERE recordTime BETWEEN ('<datetime>' AND NOW())  \
  --target-dir /user/hadoop/records

您需要根据表模式修改 where 条件。

有关详细信息,请参阅Sqoop 文档

于 2016-05-04T11:08:34.100 回答
0

sqoop import --connect jdbc:mysql://localhost:3306/your_mysql_databasename --username root -P --query 'SELECT * from records WHERE recordTime BETWEEN ('' AND NOW()) --target-dir / where you want存储数据

并在 sqoop 询问密码时输入您的 mysql 密码,例如(我的密码是 root)

于 2016-05-04T12:14:56.407 回答