2017-05-04 44 views
0

波紋管Sqoop作業完美無缺。每次執行時,當MySQL中有新數據時,最後一個值會被追加。我的問題是Sqoop - 在遞增追加中最後一個值的存儲位置

1)在哪個位置存儲最後一個值?

2)我可以瀏覽最後一個值的位置?

3)我可以改變一個值的位置?

sqoop job --create myjob3 \ 
-- import \ 
--connect "jdbc:mysql://ip-122-41-11-214:3306/sqoop" \ 
--username wikihadoop \ 
--password ABCD1234 \ 
--target-dir /user/sachin/inDataX3 \ 
--table sac01 \ 
--split-by age \ 
--num-mappers -1 \ 
--incremental append \ 
--check-column id \ 
--last-value 1 

我執行該用於在其位置被獲得存儲的最後一個值sqoop

sqoop job --exec myjob3 

回答

1

1)?

這取決於你是如何運行的導入作業:

  • 命令行:最後值印在屏幕的輸出,你可以在明年導入使用上。在這種情況下,Sqoop不會管理它。用戶需要跟蹤它。
  • 從保存的作業:Sqoop使用它自己的私人metastore(在/.sqoop/)或 共享metastore(如sqoop-site.xml中指定),以節省作業詳細信息。

2)我可以瀏覽最後一個值的位置?

  • 對於共享metastore:您可以使用瀏覽器metastore
  • 對於私人merastore:你可以嘗試sqoop-metastore

3)我可以改變一個值的位置?

是的。您可以更改存儲最後一個值的Metastore的位置。對於有價值的信息,做更多的事情,你提到

+0

感謝爲「從​​保存的作業:Sqoop使用它自己的私人metastore(在/.sqoop/)或共享metastore(如sqoop-site.xml中指定),以節省工作細節「。 (1)。所以我的理解是,保存的工作細節也應該包含最後一個值。 (2)。 metastore(in /.sqoop/);你的意思是/ user/username/_sqoop文件夾 - 當執行作業時,我可以看到一個文件被創建並在作業完成後被銷燬。 –

+0

*(1)。所以我所理解的是,保存的作業細節也應該包含最後一個值。* 對於保存的作業,您不必指定--last-value。在啓動下一次導入之前,它將由metastore的sqoop構建。 *(2)。 metastore(in /.sqoop/);是/用戶/用戶名/文件夾_sqoop你的意思是說 - 在執行工作中,我可以看到,創建一個文件被破壞,一旦工作完成* 號私人metastore會更在$ HOME/.sqoop DIR 。您看到的目錄是由sqoop用於跟蹤當前作業的臨時工作目錄。 – vmorusu

相關問題