Apache Oozie一 实战操作一调度 hive 脚本|学习笔记

简介: 快速学习 Apache Oozie一 实战操作一调度 hive 脚本

开发者学堂课程【Oozie 知识精讲与实战演练Apache Oozie一 实战操作一调度 hive 脚本】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/716/detail/12788


Apache Oozie一 实战操作一调度 hive 脚本


内容介绍

一、Oozie 调度 Hive

二、小记


一、Oozie 调度 Hive

1、准备配置模板,修改配置文件

cd /export/servers/oozie-4.1.0-cdh5.14.0 安装包的根目录下 CD 进来

cp -ra examples/apps/hive2/ oozie_works/ 在目录 examples 下有个 hive up 文件夹,把这个文件夹下的东西拷贝到工作路径下,(不支持老版本)复制完成后看看那些需要修改,cd 到 oozie-works 下的 hive

tota1 24

-rw-r--r--. 1 1106 4001 1046 Jan 2018 job.properties

-rw-r--r--11106 4001 1087 Jan 2018 job.properties.security

rw-r--r--. 11106 4001 681 Jan 2018 README

-rw-r--r--. 11106 4001 966 Jan 2018 script.q

-rw-r--r--11106 4001 2073 Jan 2018 workflow.xm]

-rw-r--r--11106 4001 2481 Jan 72018 workflow.xm1.security

[root@node-1hive2]#

第一个要去调度 hive 脚本,需要去编写 hive script 语句,第二个 job 提交 hdoop相关信息,主要配置一个 job.properties 任务属性信息,第三个就是 workflow 工作的核心产品配置文件

2.修改配置模板

修改 job.properties

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works/hive2

vim job.properties

指定:nameNode=hdfs//node-1:8020

jobTracker=node-1:8032

queueName=default(队列名)

jdbcURL=jdbc:hive2://node-1:10000/default(hive 地址)

通过这个去访问,必须保证 hive 服务是启动正常的。

examplesRoot=oozie works 工作路径。

(1)具体配置

打开 new 1- Notepad++,按照以上代码进行修改,一定要保持一致:

nameNode=hdfs://node-1:9000

jobTracker=node-1:8032

queueName=default

idbcURL=idbc:hive2://node-1:10000/default

examplesRoot=oozie works

oozie.use.system.libpath=true

oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot} hive2

#配置我们文件上传到 hdfs 的保存路径实际上就是在 hdfs的 /user/root/oozieworks/hive2 这个路径下ooziewfapplicationpath=${nameNode}/user/${username}/${examplesRoot}/hive2

多了 app, 把 app 进行删除,正确操作如上,一定要保持一致才可以识别资源路径

修改 workflowxml (实际上无修改),因为示例当中脚本名字叫做 script.q,如果是在企业当中,调度的是其他脚本,要把这个名字做相关的修改。

核心:

,又做了 hive 的执行,删除相关的路径,进行相关的配置,执行脚本,脚本名称叫做 script.q。

编辑 Hlivesql 文件(内容)

使用 vim script.q 做相关操作(上面是注释,可以删除)

DROP TABLE IF EXISTS test; 删除 test 的表。

CREATE EXTERNAL TABLE test(a INT)STORED AS TEXTFILE LOCATION'${INPUT}';创建 test 的表,类型是文本文件,位于 INPUT 路径。

插入:

insert into test values(10);

insert into test values(20);

insert into test values(30);

将插入的复制粘贴,脚本已经搞定,做一个保存

3、把脚本连同配置信息上传调度任务到 hdfs

cd/export/servers/oozie-4.1.0-cdh5.14.0/oozie works hdfs dfs -put hive2/ /user/root/oozie works/

复制,做修改换行,注意格式问题

把 hdfs dfs -put hive2/ /user/root/oozie works/ 进行复制,执行,会发现报错,提示没有这个文件夹,cd.. 返回到文件当中

验证:

图片1.png 

会发现多了 hive2,里面有配置的脚本以及一系列

4.执行调度任务

首先确保已经启动 hiveServer2 服务。

来到第一台服务器上验证一下,可以看到并没有 hive 服务

图片2.png

可以使用 export/servers/hive/bin/hiveserver2 命令启动在前台,也可以使用讲义上的方式启动在后台。

因为配置远程的 metastore 存储服务,所以在启动服务之前,首先必须取得metstore 原数据存储服务,启动在后台使用 nohup 命令,再把 nohup /export/servers/hive/bin/hive --service metastore 启动到后台,这样就首先启动了 hive 的原数据存储服务。

再来启动 service 服务,启动 nohup /export/servers/hive/bin/hive --service hiveserver2 &

完成启动 service 服务,使用 jps 验证。

验证方法:随便找一台机器进行 export/servers/hive/bin/beeline 验证,连接地址叫做 connect idbc:hive2:node-1:10000,登录是 root,登录密码是服务器密码。

特别强调,在调度 hive 任务之前,必须保证已经成功启动 hiveServer2 服务。

cd /export/servers/oozie-4.1.0-cdh5.14.0

bin/oozier job o -oozie http://node-1:11000/oozie -config oozie_works/hive2/job.properties -run

复制以上命令,记得换行进行修改,来到根目录下进行执行(如果配置了环境变量可以不用到根目录下),执行成功会发现提交 hive 程序,出现任务编号 8722-W,可以通过 oozieweb 页面进行刷新查看。

图片3.png

并且可以通过 yarn 来追踪看到调度执行的过程。

图片4.png

首先第它启动了一个 have tom 码程序,还要执行数据的插入,首先是 insert into 10是第一个语句,执行第二条插入数据的语句叫做 insert into value 20,这时候发现第一个 m 码程序现在还在 running,因为他后面的 hive 还没有执行结束,必须说 hive 执行结束之后,整个 oozie 才能执行结束,通过这里可以感受到 oozie 底层的执行过程。

验证 hive 表是否创建:

打开刚才的服务器,执行 show tables; 会发现有了相关的表

图片5.png

直接 select*from test 这个表,会发现里面就有内容

图片6.png

以上就完成了 oozie 调度 hive 脚本。


二、小记

oozie 调度 hive 脚本

首先必须保证 hiveserve2 服务是启动正常的,如果配置 metastore 服务,要首先启动 metastore

nohup /export/servers/hive/bin/hive--service metastore&

nohup /export/servers/hive/bin/hive --service hiveserver2 &

相关文章
|
8月前
|
Java API Apache
使用 Apache PDFBox 操作PDF文件
Apache PDFBox库是一个开源的Java工具,专门用于处理PDF文档。它允许用户创建全新的PDF文件,编辑现有的PDF文档,以及从PDF文件中提取内容。此外,Apache PDFBox还提供了一些命令行实用工具。
738 6
|
8月前
|
SQL Java 数据库连接
java链接hive数据库实现增删改查操作
java链接hive数据库实现增删改查操作
447 0
|
3月前
|
SQL 分布式计算 Hadoop
Apache Hive 帮助文档
Apache Hive 帮助文档
129 9
|
8月前
|
消息中间件 Java Kafka
实时计算 Flink版操作报错之Apache Flink中的SplitFetcher线程在读取数据时遇到了未预期的情况,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
5月前
|
分布式计算 监控 Hadoop
详解 Apache ZooKeeper 和 Apache Oozie
【8月更文挑战第31天】
149 0
|
6月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之从mysql读数据写到hive报错,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
8月前
|
SQL 数据采集 存储
Hive实战 —— 电商数据分析(全流程详解 真实数据)
关于基于小型数据的Hive数仓构建实战,目的是通过分析某零售企业的门店数据来进行业务洞察。内容涵盖了数据清洗、数据分析和Hive表的创建。项目需求包括客户画像、消费统计、资源利用率、特征人群定位和数据可视化。数据源包括Customer、Transaction、Store和Review四张表,涉及多个维度的聚合和分析,如按性别、国家统计客户、按时间段计算总收入等。项目执行需先下载数据和配置Zeppelin环境,然后通过Hive进行数据清洗、建表和分析。在建表过程中,涉及ODS、DWD、DWT、DWS和DM五层,每层都有其特定的任务和粒度。最后,通过Hive SQL进行各种业务指标的计算和分析。
1229 1
Hive实战 —— 电商数据分析(全流程详解 真实数据)
|
7月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在进行Hive分区truncate操作时遇到权限不足,怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
100 0
|
8月前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之遇到报错:Apache Kafka Connect错误如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
252 5
|
8月前
|
SQL DataWorks 网络安全
DataWorks操作报错合集之DataWorks连接Hive数据库时出现连接超时的问题如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
126 2

热门文章

最新文章

推荐镜像

更多