HUE中Oozie执行Hive脚本

Oozie执行hive,传入参数
1. 新建一个workflow

2. 拖入一个hive2

3. hive脚本如下

CREATE TABLE IF NOT EXISTS spider_tmp.org_invest_fund_${date} (
`id` int,
`info_id` int,
`company` string,
`company_url` string,
`legal_person` string,
`reg_capital` string,
`establish_date` string,
`investor` string,
`update_time` string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘`‘
STORED AS TEXTFILE;

注意,此处${date}表示需要执行时传入的参数
4. 添加参数

5. 启动,填入参数即可

6.workflow.xml如下

<workflow-app name="Workflow_hive" xmlns="uri:oozie:workflow:0.5">
    <start to=" hive-table_load_data "/>
    <kill name="Kill">
        <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <action name="hive-table_load_data" cred="hive2">
        <hive2 xmlns="uri:oozie:hive2-action:0.1">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <jdbc-url>jdbc:hive2://hadoop1:10000/spider_tmp</jdbc-url>
            <script>/user/fengz/xxxx.q</script>
            <param>date=${date}</param>
        </hive2>
        <ok to="End"/>
        <error to="Kill"/>
    </action>
    <end name="End"/>
</workflow-app>

原文地址:https://www.cnblogs.com/EnzoDin/p/10548429.html

时间: 2024-07-29 04:05:19

HUE中Oozie执行Hive脚本的相关文章

HUE中Oozie执行Sqoop

Oozie执行Sqoop,传入参数(注意,在使用--query时,参数中一定不要带有空格,否则出错)1. 新建一个workflow 2. 拖入一个sqoop 3. sqoop抽取命令如下(建议先在命令行试下,因为oozie的错误提示很委婉,基本看不出错误原因) sqoop import --connect jdbc:mysql://localhost:3306/spider_new --username root --password 1234qwer --target-dir /user/fe

CDH中,执行HIVE脚本表联查权限问题。。

文章来自http://www.cnblogs.com/hark0623/p/4174641.html 转发请注明 有时候执行表联查的时候总会出现没有权限写文件的情况. 这个时候使用sudo -H hive hive -e "select * from tbl1 join tbl2 on tbl1.field = tbl2.field"即可

Delphi 7 在程序中直接执行SQL脚本文件

Delphi 7 在程序中直接执行SQL脚本文件 在处理MSDE一些操作中.需要执行一些SQL脚本.有的是从SQLServer 2000中生成的SQL为后缀的脚本.在MSDE中没有企业管理器,操作都是在程序中完成的.所以用以下函数来执行SQL脚本. //执行一个SQL角本文件,文件只能是ANSI编码的.//如果文件是UNICODE编码的话,则会乱码.var  s:string;  sqltext : string;  sqlfile : TextFile;begin  if OpenDialog

inotify+rsync实现实时同步(附解决crontab中无法执行python脚本的问题)

1.准备环境 # 系统支持的话,下面的目录就会存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait监控目录状态变化 /usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e delete,create,close_write /data # 可以把时间去掉 /usr/bin/

Android程序中如何执行shell脚本

在做Android应用时,经常需要执行shell脚本,以快速实现某些功能: 在Android应用程序中执行shell脚本可以省去一大堆繁琐的代码,还可以避免不必要的错误: 比如:拷贝文件夹时,可以执行shell命令中的 cp 命令达到目的:而在代码中实现拷贝文件夹时,不仅需要编写一大堆繁琐的代码,还容易陷入递归死循环的错误中: 比如:获取文件系统的读写权限,只需要执行shell脚本中一句 mount -o rw,remount / 就能轻松搞定: 比如:删除文件夹下某一个文件.或者某一类文件.或

pycharm中配置执行robot脚本program的路径

我的系统是mac系统 在program中只需要加入robot 前期需要把robot变成全局变量 在mac中创建  touch  ~/.bash_profile vim ~/.bash_profile 加入 PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/robot/rebot.py" 保存,退出 souce ~/.bash_profile 检查是否生效 e

怎样在java代码中调用执行shell脚本

// 用法:Runtime.getRuntime().exec("命令"); String shpath="/test/test.sh"; //程序路径 Process process =null; String command1 = “chmod 777 ” + shpath; try { Runtime.getRuntime().exec(command1 ).waitFor(); } catch (IOException e1) { e1.printStack

InstallShield在MySQL和Oracle中执行SQL脚本的方法InstallShield在MySQL和Oracle中执行SQL脚本的方法

简述 InstallShield已经内建了对MySQL和Oracle的支持.但是这个功能是通过ODBC实现的,它对SQL脚本的格式要求非常严格,因此已经通过官方客户端测试的脚本在IS中执行时往往就会报错. 一般来说,数据库脚本只保证通过官方客户端测试即可,同时维护一份供IS执行的脚本费时费力.因此,考虑安装程序对两数据库的支持通过官方客户端实现. MySQL   function InstallMySQLComponent(szComponent) NUMBER nResult; STRING

Hive脚本中切勿使用/**/注释

Hive脚本中切勿使用/**/注释 Hive脚本的注释目前好像只有 -- ,我之前在做初版数据的时候 使用NotePad++ 习惯性的有时候注释会写成 /**/ ,然后就引发了问题 脚本上传到hue,加入调度,调度正常执行 不报错,但是应该有的数据却为空!!! 奇了怪了.... (反复执行了好多遍,都没有数据,脚本都没有问题呀  一段一段copy执行的时候都正常的) 再仔细看看 ,原因问题出在注释上,在hive脚本里面我不小心留了两行注释 格式为 /* 注释内容 */ 的内容 造成的结果:  /