IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oozie 集成 Hive -> 正文阅读

[大数据]Oozie 集成 Hive

1) prepare shell case
$ cd ~/work/oozie-5.2.1
$ tree oozie/apps/hive2

oozie/apps/hive2
├── job.properties
├── script.q
└── workflow.xml

$ cat oozie/apps/hive2/script.q

--
DROP TABLE IF EXISTS test;
CREATE EXTERNAL TABLE test (a INT) STORED AS TEXTFILE LOCATION '${INPUT}';
insert into test values(10);
insert into test values(20);
insert into test values(30);
-- INSERT OVERWRITE DIRECTORY '${OUTPUT}' SELECT * FROM test;

$ cat oozie/apps/hive2/job.properties

nameNode=hdfs://localhost:9000
resourceManager=localhost:8032
queueName=default
jdbcURL=jdbc:hive2://localhost:10000/default
oozieRoot=user/${user.name}/oozie

oozie.use.system.libpath=true

oozie.wf.application.path=${nameNode}/${oozieRoot}/apps/hive2
inputDir=data/hive2/table
outputDir=data/hive2/output

$ cat oozie/apps/hive2/workflow.xml

<workflow-app xmlns="uri:oozie:workflow:1.0" name="hive2-wf">
    <start to="hive2-node"/>

    <action name="hive2-node">
        <hive2 xmlns="uri:oozie:hive2-action:1.0">
            <resource-manager>${resourceManager}</resource-manager>
            <name-node>${nameNode}</name-node>
            <prepare>
                <delete path="/${oozieRoot}/${outputDir}"/>
                <mkdir path="/${oozieRoot}/${outputDir}"/>
            </prepare>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
            </configuration>
            <jdbc-url>${jdbcURL}</jdbc-url>
            <script>script.q</script>
            <param>INPUT=/${oozieRoot}/${inputDir}</param>
            <param>OUTPUT=/${oozieRoot}/${outputDir}</param>
        </hive2>
        <ok to="end"/>
        <error to="fail"/>
    </action>

    <kill name="fail">
        <message>Hive2 (Beeline) action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

2) upload to hdfs
$ hdfs dfs -put oozie/apps/hive2 oozie/apps/

3) run and check
firstly, guarantee HiveMetaStore and HiveServer2 have been started
$ bin/oozie job -config oozie/apps/hive2/job.properties -run ?
job: 0000000-220630151459153-oozie-sun_-W
$ bin/oozie job -info 0000000-220630151459153-oozie-sun_-W

Job ID : 0000000-220630151459153-oozie-sun_-W
------------------------------------------------------------------------------------------------------------------------------------
Workflow Name : hive2-wf
App Path      : hdfs://localhost:9000/user/sun_xo/oozie/apps/hive2
Status        : SUCCEEDED
Run           : 0
User          : sun_xo
Group         : -
Created       : 2022-06-30 09:58 GMT
Started       : 2022-06-30 09:58 GMT
Last Modified : 2022-06-30 09:59 GMT
Ended         : 2022-06-30 09:59 GMT
CoordAction ID: -

Actions
------------------------------------------------------------------------------------------------------------------------------------
ID                                                                            Status    Ext ID                 Ext Status Err Code  
------------------------------------------------------------------------------------------------------------------------------------
0000000-220630151459153-oozie-sun_-W@:start:                                  OK        -                      OK         -         
------------------------------------------------------------------------------------------------------------------------------------
0000000-220630151459153-oozie-sun_-W@hive2-node                               OK        application_1656559415643_0018SUCCEEDED  -         
------------------------------------------------------------------------------------------------------------------------------------
0000000-220630151459153-oozie-sun_-W@end                                      OK        -                      OK         -         
------------------------------------------------------------------------------------------------------------------------------------

$ hdfs dfs -text "oozie/data/hive2/table/*"

10
20
30

And you can get relevant job log as following:
$ hdfs dfs -get /tmp/logs/sun_xo/logs/application_1656559415643_0018 logs/

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 22:59:50  更:2022-07-04 23:02:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 22:19:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码