3-1 hive环境搭建

地址:Apache Hive TM
启动:hive

3-2 hive-helloworld

查看所有资料库:
- show databases;
进入default资料库:
- use default;
查看资料库中所有表:
- show tables;
查看表结构:
- desc table_name;
删除表:
- drop table db_name.table_name;
创建表:
- create table db_name.table_name(id bigint, name string);
插入数据:
- insert overwrite table db1.table1 select 100.』hellpworld』 from db2.table2;
查询表:
- select * from db1.table1;

3-3 show 用法

显示所有表:
- show tables;
- show tables like 『*order*』;
- show tables like 『…_order』;
显示所有分区:
- show partitions;
- show partitions table_name PARTITION(dt=『2018-12-01』);
- show partitions table_name PARTITION(dt=『2018-12-01』,hour=01);
显示表的扩展信息:
- show table extended;
- show table extended like table_name;
显示所有表的属性:
- show table properties;
- show tblproperties table_name(『external』);
显示所有索引:
- show indexes on table_name;
- 创建索引:create index idx_name1 on table table_name(id) as 『compact』 with deferred rebuild;
显示建表语句:
- show create table table_name;
显示所有资料库:
- show databases;
- show schemas;
- show databases like 『*dm*』;
显示所有列:
- show columns from table_name;
显示所有函数:
- show functions;
- show functions 『.*f.*』;(注意:相当于like的语法,但是不加like)
显示所有角色与许可权:
- show granted roles and privileges;
显示锁:
- show locks;
显示配置文件:
- show conf;
显示事务:
- show transactions;

3-4 desc(describe)用法

显示某资料库详情:desc databases;
- desc database db_name;
- desc database extended db_name;
显示表,视图,列的详情:desc table/view/column
- desc table_name;(查看表)
- desc formatted table_name;(查看表格式化之后的信息)
- desc extended table_name;(查看扩展信息)
显示列详情(0.14才支持):display columnm statistics
- desc table_name.column_name;(查看列)
- desc formatted table_name.column_name;(查看表格式化之后的信息)
显示分区详情:desc partition
- desc table_name partiton(dt=『2015-01-01』)

3-5 命令

Hive的命令分一下几类:
- 进入与退出hive交互,比如:hive、quit、exit
- 参数设置:set、reset
- 资源文件管理:add、list、delete
- 执行shell命令:!cmd
- hdfs文件操作:dfs-ls、dfs-cat
- hiveQL:<query string>
- 执行外部文件:source file、compile`<groovy string>` `AS GROOVY NAMED<name>`

参数设置命令:
- 显示所有关于Hive参数:set;
- 显示所有参数(包含系统、hadoop……):set -v;
- 查看具体默认值:set mapred.reduce.tasks;set mapred.reduce.tasks=30;
- 重置所有参数:reset;
- 重置具体值:reset mapred.reduce.tasks;
- 具体筛选:hive -e 『set;』|grep task;

执行外部shell命令(加感叹号,不支持管道、重定向和互动式):
- !ls
- !clear;

hdfs文件操作命令:
- 查看:dfs -ls /user/hadoop;
- 创建文件夹:dfs -mkdir /user/hadoop/lisa;
- 删除文件夹:dfs -rm -r /user/hadoop/lisa;

资源文件管理:
- 添加文件:add file /home/hadoop/lisa.sql;
- 查看文件:list file;
- 删除文件:delete file /home/hadoop/lisa.sql;

query string:
- select * from db_name.table_name limit 10;

3-6 hive 命令行介面

Hive命令行介面参数
-d,--define <key=value> 定义一个变数在hive中使用

-e <quoted-query-string> 执行单引号或者双引号内的SQL
- hive -e 「select * from db_name.table_name limit 10;」
- hive -e 「select * from db_name.table_name limit 10;」|grep 10.0
- hive -e 「select * from db_name.table_name limit 10;」|grep 10.0 > test.txt
- wc test.txt (wc:统计指定文件中的位元组数、字数、行数,并将统计结果显示输出。)

-f <filename> 执行一个SQL文件中的SQL
- hive -f test.sql
- hive -f test.sql > test.txt

-H,--help 列印帮助信息
- hive -h;

-i <filename> 执行初始化文件
- hive -i test.sql -e 「select * from db_name.table_name limit 10;」

-p 连接hive伺服器的埠号

-h <hostname> 连接到远程主机

--hiveconf <property=value> 设置属性

--hivevar <key=value> 设置变数

-S 静默模式,不会列印一些日志
- hive -S -e 「select * from db_name.table_name limit 10;」

-v,--verbose 冗余模式,会列印出执行的语句和执行日志
- hive -v -e 「select * from db_name.table_name limit 10;」

直接进入资料库:
- hive --database db_name;

推荐阅读:

相关文章