美文网首页
Oozie调度python脚本

Oozie调度python脚本

作者: 雪飘千里 | 来源:发表于2019-12-30 17:22 被阅读0次

CDH集群中oozie 并不能直接执行python脚本,如下图中所示,但是有时候我们使用python做数据清洗、计算的话,那该怎么执行呢?

image.png

网上找了一圈,发现就没像样的资料,其实很简单,那就是在shell脚本中调用python脚本,oozie是支持直接调用shell脚本的,见Oozie Shell工作流Workflows编写以及定时Coordinators调度

但是这里有个坑,那就是oozie调度任务是随机把shell脚本发到集群中任一台机器上去执行,但是我们的集群python环境可能并不一致,同时,如果python脚本中用到一些需要安装的包,那就需要在集群中所有机器上都安装。

hello.sh

# 在临时目录下创建文件夹
if [ ! -d "/tmp/hello" ];then
mkdir -p /tmp/hello
else
echo "文件夹已经存在"
fi

# 删除已有文件
if [ -f "/tmp/hello/hello.py" ];then
echo "文件存在,删除文件"
rm -f /tmp/hello/hello.py
else
echo "文件不存在"
fi

# 从hdfs上拉取python脚本
hdfs dfs -get /user/zhangkai/hello/hello.py    /tmp/hello/

#  执行python脚本
/bin/python3  /tmp/hello/hello.py

hello.py

#指定用什么解释器运行脚本以及解释器所在的位置还有文件编码
#!/bin/python3
# -*- coding: UTF-8 -*-

print("hello world")

备注:集群中python环境最好是统一一个版本,并且是python2 和python3都有安装,执行python脚本时,用到哪个环境,在脚本开头指明其对应的解释器。python3的安装见 python3安装

相关文章

  • 尚硅谷大数据技术之Oozie

    第4章 Oozie的使用4.1 案例一:Oozie调度shell脚本目标:使用Oozie调度Shell脚本分步实现...

  • Oozie的使用

    案例一:Oozie调度shell脚本 目标:使用Oozie调度Shell脚本分步实现: 创建工作目录 在oozie...

  • Oozie调度python脚本

    CDH集群中oozie 并不能直接执行python脚本,如下图中所示,但是有时候我们使用python做数据清洗、计...

  • 尚硅谷大数据技术之Oozie

    4.3 案例三:Oozie调度MapReduce任务目标:使用Oozie调度MapReduce任务分步执行:1)找...

  • 工作流调度引擎---Oozie

    一. Oozie简介 Apache Oozie是用于Hadoop平台的一种工作流调度引擎。 作用 统一调度ha...

  • oozie

    what's oozie? oozie 是一个定时调度工具 先理解oozie的三个概念,workflow(工作流)...

  • Oozie 01-概览

    Oozie是一个管理Apache Hadoop作业(job)的工作流(workflow)调度系统 Oozie工作流...

  • 大数据工具Hadoop快速入门11-Oozie

    Apache Oozie简介 Apache Oozie是Hadoop的工作流程调度程序。 它是一个运行从属作业工作...

  • 大数据Hadoop工具python教程9-Luigi工作流

    管理Hadoop作业的官方工作流程调度程序是Apache Oozie。与许多其他Hadoop产品一样,Oozie是...

  • linux 任务定制及环境配置

    关键词:linux python脚本 定时执行 通过crontab调度脚本时脚本使用的环境变量与直接在shell中...

网友评论

      本文标题:Oozie调度python脚本

      本文链接:https://www.haomeiwen.com/subject/oppsoctx.html