执行sh文件 进行MongoDB的业务逻辑导入

将从HDFS中的数据转化为Json格式写入文件后,十个文件的文件名为 文件名_01 ...._02 ....03格式。 编写个简单的sh文件 通过for do循环让i+1 文件名对应上就可以的- -执行时要传入文件名称以及需要导入的数据文件的路径,之所以要传进去 也是为了方便项目后续更改目录嘛~

 

.sh文件: 

 

然而并没有什么乱用! 发现 ./mongo -h 10.1.235.62 -port 27017 --eval "db."${name}".drop()" 不管用!  是--eval的问题。。。老版本是可以这样执行的,因为是个定时job,每次导入前必将先删除原有的集合嘛~ 折磨得不要不要的。。因为各种百度无果,很少有此类用法的文章,于是,就将代码改了- -每次将要执行该shell文件时 手动查询count() 如果大于0  就remove了该collection的数据好了~ 一样的~ 

 

最后指定的命令就是在MongoDB的bin目录下: ./batchImport.sh DW_LABEL_DATAS_crm /home/MongoDB/mongodb/importDataFile

 

这就完了了了。。。。。不过还是请求教--eval的用法 。。。貌似要写个js脚本。。。还请路过大神赐教。。

 

posted on 2015-11-02 17:02  松伯  阅读(464)  评论(0编辑  收藏  举报