在Oozie的workflow上面调用jar包,可以有两种方式,
一种是使用shell来调用:
<action name="user_action_info_q_node"> <shell xmlns="uri:oozie:shell-action:0.2"> <job-tracker>${jobtracker_address}</job-tracker> <name-node>${namenode_address}</name-node> <configuration> <property> <name>mapred.job.queue.name</name> <value>${mapred_job_queue_name}</value> </property> </configuration> <exec>hadoop</exec> <argument>jar</argument> <argument>${mongo_sync_jar_name}</argument> <argument>com.hive.syncJob.HiveMongoSync</argument> <argument>-mongo-ip</argument> <argument>${mongo_ip}</argument> <argument>-mongo-port</argument> <argument>${mongo_port}</argument> </shell> <ok to="info_mongo_shell_node"/> <error to="fail"/> </action>
一种是使用Java来调用
<action name="test1"> <java> <job-tracker>${jobtracker_address}</job-tracker> <name-node>${namenode_address}</name-node> <configuration> <property> <name>mapred.job.queue.name</name> <value>${mapred_job_queue_name}</value> </property> </configuration> <main-class>test.java.main.HiveJDBCTEST</main-class> <capture-output/> </java> <ok to="end"/> <error to="fail"/> </action>
如果依赖外部包, 需要在项目文件下创建一个lib包,和项目文件一起put到HDFS上面去。
否则会出现ClassNotFoundException。
Oozie有个配置文件,会将job中的所有java文件引导到一个libpath下面:
##oozie config #use system library oozie.use.system.libpath=true #use custom library oozie.libpath=${namenode_address}/user/hadoop/share/lib/hive
相关推荐
- 协调器用于定义周期性的作业执行,通常与外部数据源(如HDFS中的文件到达)结合使用。 - 协调器允许用户指定触发条件,如每天早上6点执行某个工作流。 - 它可以确保即使是在分布式环境下,任务也能按照预定的时间...
1. 外部接口层:对外提供JAVA API、REST API、命令行接口(CLI)和Web UI(如Hue)。 2. 中间处理层:包括Oozie的工作流引擎、协调器、捆绑器和服务水平协议组件,负责任务的调度和执行。 3. 数据存储层:Oozie对象...
它能够协调 Hadoop 相关的作业,如 MapReduce、Pig、Hive 和 Sqoop,以及外部系统如 Java 作业或命令行程序。Oozie 提供了一个用户友好的 Web 界面和 REST API,方便用户定义、监控和管理工作流。 在部署 Oozie 时...
Oozie协调器使得工作流可以基于时间、数据可用性或外部事件自动触发。它允许用户定义执行计划,当满足特定条件(如数据可用或时间到达)时,启动工作流作业。这种机制常用于构建数据处理管道,其中多个工作流的输出...
3. **安装依赖**:Hue可能依赖于一些外部库和服务,例如Python库和Java运行时环境,确保这些都已安装并满足版本要求。 4. **构建和安装**:使用`make`命令编译Hue源代码,然后使用`make install`将Hue安装到系统...
启动Cloudera Manager Server后,使用浏览器访问管理界面,完成初始化设置,包括数据库配置(可以使用内置的SQLite或连接外部MySQL)以及添加集群的节点。 然后,选择要部署的服务和组件。在CDH5中,HDFS是基础服务...
使用Hadoop进行GIS数据的统计分析,涉及到加载必要的JAR包、创建临时函数、外部表,并进行查询测试。这使得对存储在HDFS中的GIS数据进行统计分析成为可能。 集成过程中可能会遇到一些问题,例如DataNode available...
- **2.3 编写 workflow 逻辑**:使用 Java 编写 workflow 的逻辑,包括定义各个任务之间的依赖关系等。 - **2.4 编写 workflow 测试代码**:编写测试代码以验证 workflow 的正确性。 - **2.5 编写调度配置**:定义...
Hadoop 生态圈包含了多种工具和服务,如 HDFS、MapReduce、YARN、HBase、Pig、Oozie、Zookeeper 和 Sqoop 等。它们共同构成了一个强大的大数据处理框架,Hive 是这个生态系统的一部分,用于数据仓库的管理和分析。 ...
时间同步对于分布式系统至关重要,CentOS 7使用Chrony进行时间同步,可以通过配置文件添加外部NTP服务器来保证时间的一致性。 在系统层面,通常会进行一些优化措施,例如禁用交换分区以减少磁盘I/O开销,禁用透明大...
6. **Hcatalog**:作为数据层的接口,允许外部工具如 Pig、MapReduce 或 Oozie 访问 Hive 的元数据。 **Hive 的核心功能** 1. **数据查询**:通过 HQL(Hive Query Language),类似 SQL 的语法,进行数据查询和...