我的场景:我将在特定时间通过 sqoop 在 hdfs 中获取每天 100 条记录。但是,昨天我在那个特定时间只得到了 50 条记录,今天我需要在那个特定时间通过 sqoop 在 hdfs 中获取 50+100 条记录。请帮我。提前致谢。
问问题
40 次
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 回答