9.Hive运行方式

9.Hive运行方式

  1. 命令行方式cli:控制台模式 (了解)
  2. 脚本运行方式(实际生产环境中用最多) 重点

9.1 命令行方式cli

**与hdfs交互:**执行dfs命令

hive> dfs -ls /;
Found 7 items
drwxr-xr-x   - root supergroup          0 2021-
11-05 17:44 /fof
drwxr-xr-x   - root supergroup          0 2021-
11-18 11:28 /opt
drwx------   - root supergroup          0 2021-
11-08 21:35 /tmp
drwxr-xr-x   - root supergroup          0 2021-
11-08 23:17 /user
drwxr-xr-x   - root supergroup          0 2021-
11-19 10:20 /usr
drwxr-xr-x   - root supergroup          0 2021-
11-04 13:25 /weather
drwxr-xr-x   - root supergroup          0 2021-
10-29 03:49 /wordcount
hive> dfs -cat /user/hive_remote/warehouse/person2/000000_0;
1,小明1,lol-book-movie,beijing:xisanqishanghai:pudong
2,小明2,lol-book-movie,beijing:xisanqishanghai:pudong
3,小明3,lol-book-movie,beijing:xisanqishanghai:pudong
4,小明4,lol-book-movie,beijing:xisanqishanghai:pudong
5,小明5,lol-movie,beijing:xisanqishanghai:pudong
6,小明6,lol-book-movie,beijing:xisanqishanghai:pudong
7,小明7,lol-book,beijing:xisanqi-shanghai:pudong
8,小明8,lol-book,beijing:xisanqi-shanghai:pudong
9,小明9,lol-book-movie,beijing:xisanqishanghai:pudong

与Linux交互:!开头

!pwd;
!ls /root;

9.2 脚本运行方式

[root@node4 ~]# hive --service cli --help
usage: hive
-d,--define <key=value>         Variable
substitution to apply to Hive 定义变量
                                 commands.
e.g. -d A=B or --define A=B
    --database <databasename>     Specify the
database to use
-e <quoted-query-string>         SQL from
command line 执行后面跟着的sql语句
-f <filename>                    SQL from
files 执行指定文件中的sql语句
-H,--help                        Print help
information
    --hiveconf <property=value>   Use value for
given property
    --hivevar <key=value>         Variable
substitution to apply to Hive
                                 commands.
e.g. --hivevar A=B
-i <filename>                   
Initialization SQL file 执行初始化的sql文件
-S,--silent                     Silent mode
in interactive shell 静默模式(不显示Ok和Time taken
信息)
-v,--verbose                     Verbose mode
(echo executed SQL to the
                                 console)

演示

#hive -e sql
[root@node4 ~]# hive -e "select * from person"
Hive Session ID = dd3f4c02-3b67-4b3a-8194-
f781b39037a8
OK
person.id person.name person.likes 
person.address
1 小明1 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
2 小明2 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
3 小明3 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
4 小明4 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
5 小明5 ["lol","movie"]
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
6 小明6 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
7 小明7 ["lol","book"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
8 小明8 ["lol","book"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
9 小明9 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
Time taken: 4.931 seconds, Fetched: 9 row(s)
#静默模式
[root@node4 ~]# hive -S -e "select * from
person"
person.id person.name person.likes 
person.address
1 小明1 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
2 小明2 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
3 小明3 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
4 小明4 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
5 小明5 ["lol","movie"]
{"beijing":"xisanqi","shanghai":"pudong"}
6 小明6 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
7 小明7 ["lol","book"] 
{"beijing":"xisanqi","shanghai":"pudong"}
8 小明8 ["lol","book"] 
{"beijing":"xisanqi","shanghai":"pudong"}
9 小明9 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
#将查询结果写入到指定的文件中
[root@node4 ~]# hive -e "select * from person"
>he.log
......
Hive Session ID = 057aad48-7e02-408d-9e8eee92509a139a
OK
Time taken: 4.561 seconds, Fetched: 9 row(s)
[root@node4 ~]# cat he.log
person.id person.name person.likes 
person.address
1 小明1 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
2 小明2 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
3 小明3 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
4 小明4 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
5 小明5 ["lol","movie"]
{"beijing":"xisanqi","shanghai":"pudong"}
6 小明6 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}
7 小明7 ["lol","book"] 
{"beijing":"xisanqi","shanghai":"pudong"}
8 小明8 ["lol","book"] 
{"beijing":"xisanqi","shanghai":"pudong"}
9 小明9 ["lol","book","movie"] 
{"beijing":"xisanqi","shanghai":"pudong"}

hive脚本:./脚本名称

[root@node4 ~]# vim hive.sh
hive -e "select * from person"
[root@node4 ~]# chmod +x hive.sh
[root@node4 ~]# ./hive.sh

hive -f file:执行后还在linux命令行

[root@node4 ~]# vim hivef.sql
select * from person
[root@node4 ~]# hive -f hivef.sql

hive -i init.sql:执行后进入hive客户端

[root@node4 ~]# cat init.sql
select * from person
[root@node4 ~]# hive -i init.sql
Hive Session ID = 5ae4b56e-b0bf-458c-811dc60090b658b3
1 小明1 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
2 小明2 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
3 小明3 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
4 小明4 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
5 小明5 ["lol","movie"]
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
6 小明6 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
7 小明7 ["lol","book"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
8 小明8 ["lol","book"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
9 小明9 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
Hive-on-MR is deprecated in Hive 2 and may not
be available in the future versions. Consider
using a different execution engine (i.e. spark,
tez) or using Hive 1.X releases.

在hive cli中运行一个sql脚本:

hive> source hivef.sql;
OK
1 小明1 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
2 小明2 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
3 小明3 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
4 小明4 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
5 小明5 ["lol","movie"]
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
6 小明6 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
7 小明7 ["lol","book"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
8 小明8 ["lol","book"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
9 小明9 ["lol","book","movie"] 
{
    
    "beijing":"xisanqi","shanghai":"pudong"}
Time taken: 0.383 seconds, Fetched: 9 row(s)

猜你喜欢

转载自blog.csdn.net/m0_63953077/article/details/130474191