【发布时间】:2018-05-20 09:26:01
【问题描述】:
我有一个在 Hadoop 集群的边缘节点上运行的 pyspark 代码。此 pyspark 代码执行从特征工程到 ML 训练和预测的各个步骤。代码在 github 上,我可以将它拉到边缘节点上。代码可以在 yarn/client 或 yarn/cluster 模式下使用 spark-submit 提交。到目前为止一切顺利。
现在我想定期安排其中一些任务:
- 我对边缘节点有一些限制,我不能使用 crontab
- 可能最好的选择是使用 Oozie 提交作业。
我的问题是每次我进行一些修改时如何在 Haddop 集群上以干净/简单的方式部署代码,以便可以使用 Oozie 进行调度(我猜 Oozie 是调度的最佳选择,因为它已经安装)
- 我可以从边缘笔记上的github拉取代码,然后复制并覆盖hdfs上的de文件
- CI/CD 尚未到位,计划用于生产 Hadoop 集群。
- 还有其他解决方案吗?
此类任务的最佳实践是什么? (这是数据科学/机器学习代码,所以我们有自己的 Hadoop 集群,它与生产集群分离(数据摄取、使用 scala 进行数据处理......)
【问题讨论】:
标签: git hadoop continuous-integration scheduled-tasks oozie