1. Hive入门
hive中数据库和表都是目录,默认在hdfs的/user/hive/warehouse/下

在元数据库mysql中



2.简单操作
Hive表分为两类,外部表和管理表(或叫内部表)
区别:删除表结构时(drop table tableName),外部表数据保留,内部表数据也被删除
因为大数据开发,数据量很大,删除数据是很危险的操作,建议一般使用外部表
创建一张表,没做额外任何添加,默认TBL_TYPE=MANAGED_TABLE(管理表)

查看表结构
desc formatted tb1;
desc tb1;

添加一条记录,执行很慢,会走MapReduce过程

一般使用load
--------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------
create table tb1(id int,name string) row format delimited fields terminated by ','
load data local inpath '/home/omc/students.txt' into table tb1;
相当于将本地文件students.txt上传到hdfs的hive仓库中

等价于下面的操作

--------------------------------------------------------------------------------------------------------------------------------
将students.txt上传到hdfs中

load data inpath '/wc/students.txt' into table tb1;

想当于把hdfs文件转移到数据仓库中

--------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------
在hdfs上查看结果

![]()
此处结果文件有10个字符长度,其中默认分隔符(\001)占了两个
删除表后,hdfs上的数据也被删除

![]()
在hive中,可以直接查看hdfs上的信息(速度还要快点)

3.Hive使用方式
3.1 Hive交互式Shell
bin/hive
3.2 Hive Thrift服务
服务端:
把hive做为服务器来启动,其他客户端只要符合他的协议就可以远程连接hive
默认端口是10000
bin/hiveserver2

查看是否启动成功
netstat -anop | grep 10000
客户端:
hive里有个客户端(可以另外开一个窗口做为客户端)
bin/beeline

连接到服务端:!connect jdbc://hive2://192.168.0.131:10000

本文介绍Hive的基础概念,包括数据库和表的结构、外部表与管理表的区别、表的创建及数据加载方法,并探讨Hive的使用方式,如Shell与Thrift服务。
5731

被折叠的 条评论
为什么被折叠?



