- 主题:自定义算法的运行环境为啥是zip包的形式放到spark/hadoop上?
【 在 qianfeng018 的大作中提到: 】
: 自己写了个算法,算法所需的运行环境用conda打了个zip包,扔到了hadoop上。在
: spark上运行用如下命令。
: 这里为什么是个zip包呢? 这样每次运行还得解压,不是浪费时间吗?
: 不能提前把conda环境在hadoop上解压,每次直接运行吗?
你这样就是把集群管理系统和被运行的应用程序的边界打破了
: 命令:
: spark-submit --master yarn \
: --deploy-mode cluster \
: --num-executors=8 \
: --executor-memory=10g \
: --executor-cores=2 \
: --driver-memory=4g \
: --conf spark.pyspark.python=./scoenv/scoenv/bin/python3.6 \
: --archives hdfs:/user/xx/xx//scoenv.zip#scoenv \
: --py-files demo.zip spark_driver.py xxx
--
FROM 139.227.19.*
有这种思想说明你缺乏运维思维
试想几种场景:
1 你的运行包将来要升级
2 你的运行包放上去之后被别人改动了
3 spark本身将来要升级
4 spark将来还要运行别的东西,你还得考虑各个运行包的放置路径
【 在 qianfeng018 的大作中提到: 】
: 如果一个算法运行环境是固定的,之后会有几百个算法、模型在此环境运行,
: 如果每一次spark submit都要解压,浪费的时间是很客观的吧?
: 我提前把环境解压好,每次只是在该环境运行算法,此场景下会节省很多时间。我觉得是很值得妥协一下的
--
修改:JulyClyde FROM 139.227.19.*
FROM 139.227.19.*
所以你的选择就是情绪大于规则呗
那还问啥,直接上啊
【 在 qianfeng018 的大作中提到: 】
: 是的, 所以我才来问问,都有哪些原因非要这么做。而这些原因,是不是我能接受的
: 像你说的这些因素,我觉得可以接受。因为我们的运行环境确定后,基本不会变。使用者只会在固定的运行环境下运行成百上千使用固定算法的模型。
--
FROM 139.227.19.*
你这是先有结论后找证据,并且无视反驳啊
明明就是情绪大于规则
所以我觉得你不必问
就坚持自己的意见好了
用着顺手是最重要的;而且这点违反也出不了啥大事
【 在 qianfeng018 的大作中提到: 】
: 不是情绪大于规则。 而是像我说的这种场景:各类环境比较稳定,不会变化
: 这种情况是否是解压后的环境直接用,效率更高?而且不会引起其他问题
--
FROM 139.227.19.*
【 在 flw 的大作中提到: 】
: 「比较稳定」、「不会变化」
: 这本身就很武断。
: 不了解贵司的职责划分,
: 在许多公司下这个结论本身是需要权限的。
: 有些情况下这么说话会冒犯到运维,让运维感觉他的工作不被重视。
一般来说让运维擦屁股才会让运维感觉不受重视
参加前期计划、避免事故发生才是真正的职责
--
FROM 139.227.19.*
在有些人眼里,另一些人根本就不是人
【 在 iMx 的大作中提到: 】
: 问题在于每次都解压而不是遇到问题了再解压
: 有人的想省事,另外的人承担代价
--
FROM 139.227.19.*