Hive重点知识点总结

本文详细介绍了如何在Hive中配置使用MySql作为元数据仓库,包括Hive命令执行、元数据库创建、数据仓库操作如创建MANAGED_TABLE、EXTERNAL_TABLE、分区表和分桶表的方法。此外,还探讨了数据导入导出、UDF函数的编写与使用,为Hive操作提供了全面的知识总结。
摘要由CSDN通过智能技术生成

一.简介:

①    Hive是数据仓库  ;
②    将数据存放在 HDFS上, 元数据(MetaStroe)存放在 MySql上 (解决多用户共同操作Hive仓库问题); 
③    将 SQL 转换成 MapReduce ,在Hadoo集群上执行。但并非所有的 SQL都会转换成 MR ,eg. select * from tableName  就不需要,只需要把所有的数据都读出来就可以了读出10条也是如此
④    使用 UDF 自定义函数 实现具体业务。 

二. MySql安装 , 存储 MetaStore

问题:在哪里执行 hive 命令,在哪里创建元数据库。
hive-1.2.1目录下执行Hive:

[root@ming01 hive-1.2.1]# ls
bin   derby.log  hcatalog  LICENSE       NOTICE      RELEASE_NOTES.txt
conf  examples   lib       metastore_db  README.txt  scripts

hive> [root@ming01 TData]# ls
derby.log  metastore_db  student.txt

MySql 安装: 解决上述问题

1.删除Linux安装时,安装的 MySql 包
rpm -qa | grep mysql //查找 rpm 包
rpm -e mysql-libs-5.1.73-5.el6_6.x86_64 –nodeps //删除Linux 安装时 ,自动安装的 MySql 包

2.安装服务端:
rpm -ivh MySQL-server-5.5.48-1.linux2.6.x86_64.rpm //安装MySql 服务端

3.安装客户端:
rpm -ivh MySQL-client-5.5.48-1.linux2.6.x86_64.rpm //安装 Client

4.启动 MySql 服务:
service mysql start

5.设置root用户的密码:
/usr/bin/mysql_secure_installation (安装时提示的命令)

6.使用 mysql 进入命令行
mysql -rroot -proot

7.hive-site.xml 中配置 HIve 的元数据仓库为MySql

三.Hive 仓库操作: (本文不介绍Hive安装)

3.1.创建表(MANAGED_TABLE):

默认在 HDSF 中的位置:hdfs://ns1/user/hive/warehouse/t_user
①需指定分隔符,也可以使用默认)
②如果表被删除,数据也 表目录下 的数据也将被删除

hive> create table student(id int , name string) 
    > row format delimited fields terminated by '\t';

//向 Hive 中添加数据:(一般都是以文件的形式 Load)

load data local inpath '/cluster/TData/student.txt' into table student; 

3.2.创建外部表(EXTERNAL_TABLE):

可以直接讲文件放入HDFS 上的目录,执行SQL语句时,会自动扫描。
默认在 HDFS 中的位置:hdfs://ns1/data

hive> create external table peoples (id bigint , name string , age int , description string )
    > row format delimited fields terminated by '\t' location '/data' ;

hive> dfs -put /cluster/user.txt /data/a.
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值