> - Add an update_time column to the source table and do the incremental load 
> by that update_time column.
two questions to that then:

1. will sqoop job updates that field "update_time" automatically when it runs 
OR my application needs to write that field?
2. What if I don't wanna or I can't  touch the schema on the source table?

THanks,
Shengjie

On 8 Aug 2013, at 00:06, Joanne Chan <[email protected]> wrote:

> Add an update_time column to the source table and do the incremental load by 
> that update_time column.
> 
> 
> On Wed, Aug 7, 2013 at 12:04 PM, shengjie min <[email protected]> wrote:
> Hi guys,
> 
> TO simplify my question, Let's say, I have a mysql table called 'student', 
> looks like this:
> 
> +----+----------+-----+
> | id | name     | sex |
> +----+----------+-----+
> |  1 | Alice       |   0  |
> |  2 | Bob         |   1  |
> |  3 | Charles  |   1  |
> +----+----------+-----+
> 
> I want to import this table to HBase periodically which means I will run this 
> sqoop job periodically. There are two goals:
> 
> A.  every time there is a new record inserted to mysql table, e.g. (4, David, 
> 1), I hope my next sqoop import will catch it and put it in HBase.
> B. if  there is any updates have been made to mysql rows 1, 2, 3, I want to 
> have the updates in HBase too after next round sqoop import.
> 
> I checked two types incremental updates sqoop has:  Append mode seems only 
> satisfied goal A while Last-modified mode will require my mysql table has a 
> timestamp column for each row(which I don't in real life). I know if I don't 
> use incremental updates options at all, I can just get way with it by running 
> a fresh import every time, but if my mysql table is really huge and fresh 
> import might be a performance killer.
> 
> Is there anyway I can just do incremental updates instead of having to re-run 
> the whole import to get NEW RECORDS + UPDATES ON OLD ROWS?
> 
> 
> Shengjie
> 
> 
> 
> -- 
> -- JChan
> 

Reply via email to