0

My scenario : I will get daily 100 records in hdfs through sqoop at particular time. But, yesterday i got only 50 records for that particular time today i need to get 50+100 records in hdfs through sqoop for that particular time. Please help me. Thanks in advance.

2 Answers2

0

To handle such scenario, you need to add a where condition on time. No matters, what the record count is.

You can use something like this in sqoop import command using --query parameter:

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

You need to modify the where condition as per your table schema.

Please refer Sqoop Documentation for more details.

Nishu Tayal
  • 20,106
  • 8
  • 49
  • 101
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 to store data

and make when sqoop ask for password enter your mysql password eg.(my pwd is root)

Mahesh Gupta
  • 1,882
  • 12
  • 16