错误:sqoop在hdfs中添加记录

时间:2016-05-04 10:22:12

标签: hadoop hadoop-streaming sqoop2 sqoop

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

2 个答案:

答案 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)