2017-05-04 48 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