hive:后台启动、和脚本化运行

简介: hive:后台启动、和脚本化运行

hive使用方式

最基本使用方式

启动一个hive交互shell

bin/hive

hive>

设置一些基本参数,让hive使用起来更便捷,比如:

让提示符显示当前库:

hive>set hive.cli.print.current.db=true;

显示查询结果时显示字段名称:

hive>set hive.cli.print.header=true;

但是这样设置只对当前会话有效,重启hive会话后就失效,解决办法:

在linux的当前用户主(根)目录中,编辑一个.hiverc文件,将参数写入其中:

vi .hiverc

1. set hive.cli.print.header=true;
2. set hive.cli.print.current.db=true;

 

 

启动hive服务使用

启动hive的服务:

[root@hdp20-04 hive-1.2.1]# bin/hiveserver2 -hiveconf hive.root.logger=DEBUG,console


上述启动,会将这个服务启动在前台如果要启动在后台,则命令如下:

nohup bin/hiveserver2 1>/dev/null 2>&1 &
  • & 后台输出
  • 1,标准输出
  • 2,错误输出
  • /dev/null ,Linux中的黑洞,表示不存储信息;
  • nohup,用户即使退出,程序也会在后台运行

启动成功后,可以在别的节点上用beeline去连接

方式(1)

[root@hdp20-04 hive-1.2.1]# bin/beeline  回车,进入beeline的命令界面

输入命令连接hiveserver2

beeline> !connect jdbc:hive2//mini1:10000

(hadoop01是hiveserver2所启动的那台主机名,端口默认是10000)

方式(2)

启动时直接连接:

bin/beeline -u jdbc:hive2://mini1:10000 -n root

接下来就可以做正常sql查询了

 

 

脚本化运行

大量的hive查询任务,如果用交互式shell来进行输入的话,显然效率及其低下,因此,生产中更多的是使用脚本化运行机制:

该机制的核心点是:hive可以用一次性命令的方式来执行给定的hql语句

[root@hdp20-04 ~]#  hive -e "insert into table t_dest select * from t_src;"

然后,进一步,可以将上述命令写入shell脚本中,以便于脚本化运行hive任务,并控制、调度众多hive任务,示例如下:

vi t_order_etl.sh

#!/bin/bash
hive -e "select * from db_order.t_order"
hive -e "select * from default.t_user"
hql="create table  default.t_bash as select * from db_order.t_order"
hive -e "$hql"

如果要执行的hql语句特别复杂,那么,可以把hql语句写入一个文件:

vi x.hql

select * from db_order.t_order;
select count(1) from db_order.t_user;

然后,用hive -f /root/x.hql 来执行


目录
相关文章
|
5月前
|
SQL HIVE
71 Azkaban HIVE脚本任务
71 Azkaban HIVE脚本任务
25 0
|
14天前
|
SQL 存储 分布式计算
Hive【基础知识 02-2】【Hive CLI 命令行工具使用】【详细举例-包含测试脚本文件】
【4月更文挑战第7天】Hive【基础知识 02-2】【Hive CLI 命令行工具使用】【详细举例-包含测试脚本文件】
16 0
|
14天前
|
SQL 关系型数据库 MySQL
Hive【基础知识 02-1】【Hive CLI 命令行工具使用】【准备阶段-建库、建表、导入数据、编写测试SQL脚本并上传HDFS】
【4月更文挑战第7天】Hive【基础知识 02-1】【Hive CLI 命令行工具使用】【准备阶段-建库、建表、导入数据、编写测试SQL脚本并上传HDFS】
15 0
|
SQL IDE 开发工具
Python脚本执行hive SQL命令
Python脚本执行hive SQL命令
|
SQL 关系型数据库 MySQL
脚本实现:从 HIVE 中导入数据到 MYSQL
脚本实现:从 HIVE 中导入数据到 MYSQL
|
SQL 存储 分布式计算
Hive执行脚本: Return Code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
Hive执行脚本: Return Code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
441 0
Hive执行脚本: Return Code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
|
SQL Shell HIVE
shell命令执行hive脚本
shell命令执行hive脚本
|
SQL 存储 Shell
hive统计每日的活跃用户和新用户sql开发(附shell脚本)
hive统计每日的活跃用户和新用户sql开发(附shell脚本)
hive统计每日的活跃用户和新用户sql开发(附shell脚本)
|
SQL Shell 调度
Apache Oozie-- 实战操作--集成 hue& 调度 hive 脚本|学习笔记
快速学习 Apache Oozie-- 实战操作--集成 hue& 调度 hive 脚本
141 0
Apache Oozie-- 实战操作--集成 hue& 调度 hive 脚本|学习笔记
|
SQL 存储 Java
Apache Oozie一 实战操作一调度 hive 脚本|学习笔记
快速学习 Apache Oozie一 实战操作一调度 hive 脚本
276 0
Apache Oozie一 实战操作一调度 hive 脚本|学习笔记