Python引用自定义模块优先级

先看下图:
1. /home/mart_vdp/tmp_syq/hivetask_test 是我测试python脚本的当前目录
2./software/edw/common/HiveTask  是公共包HiveTask.py的存放目录
3.使用 sys.path.append('common/')   默认加在sys.path的最后
4.使用 sys.path.insert(0,‘common/’)  后会将path目录加在最前面
python是按照sys.path的优先级去寻找的模块,如果找到就停止加载。因此,在执行咱自己写的Python脚本调用HiveTask时,下图中sys.path的目录顺序即为调用哪个目录下面HiveTask.py的优先级顺序。

所以大家可以按照这个思路去做前两天说的那个问题:
修改 HiveTask,增加  set hive.exec.max.dynamic.partitions.pernode=1000; 修改动态分区数量
方法一:直接将HiveTask.py增加set参数后将其从common包中拿出来,放到跟python脚本同级目录    
方法二:将common下面的将HiveTask.py增加set参数,然后将自己Python脚本中的 sys.path.append('common/') 改为 sys.path.insert(0,'common/')   
Python引用自定义模块优先级_第1张图片

你可能感兴趣的:(Python引用自定义模块优先级)