我的场景:我会在特定时间通过sqoop在hdfs中每天获得100条记录。但是,昨天我今天的特定时间只有50条记录,我需要在特定时间通过sqoop获得50 + 100条hdfs记录。请帮我。提前谢谢。
答案 0 :(得分:0)
要处理此类情况,您需要按时添加where条件。没关系,记录数是多少。
您可以使用--query参数:
在sqoop import命令中使用类似的内容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 Documentation了解详情。
答案 1 :(得分:0)
sqoop import --connect jdbc:mysql:// localhost:3306 / your_mysql_databasename --username root -P -query&#39; SELECT * from records WHERE recordTime BETWEEN(&#39;&#39; AND NOW ()) - target-dir /你想存储数据的地方
并且当sqoop要求输入密码时输入你的mysql密码,例如。(我的pwd是root)