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

时间:2023-03-08 18:52:38
执行sh文件 进行MongoDB的业务逻辑导入

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

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

.sh文件:

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

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

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

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

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

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