hive是什么?体系结构简洁
Hive的安装与管理
HiveQL 数据类型,表以及表的擦欧洲哦
HiveQL 查询数据
Hive Java客户端
Hive的自定义函数 UDF --- 加深拓展
hive是facebook 应用的。
1、Hive
建立在Hadoop上的数据仓库基础架构。是一种可以存储、查询和分析存储在hadoop中的
大规模数据的机制。
Hive定义了简单的类SQL查询语句。称为QL。它允许梳理SQL的用户查询数据。
MapReduce开发者的开发自定义的Mapper和Reducer来处理内建的mapper和Reducer无法完成的复杂的分析工作
。
hive是SQL解析引擎。将SQL语句转译成M/R job然后在Hadoop执行。
Hive里的表是HDFS的目录与文件夹,按照表名把文件夹分开。
如果是分区表,则分区值是子文件夹,可以直接在M/R job里使用这些数据。
用户接口: CLI 、JDBC和ODBC (Thrift server)、 WebGUI
Driver----解释器、编译器、优化器、执行器。
Hive的数据存储在HDFS中。大部分查询由MapReduce完成。
1)启动Zookeeper
cd /itcast/zookeeper-3.4.5/bin
./zkServer.sh start
2) 启动yarn
/itcast/hadoop-2.2.0/sbin
./start-yarn.sh start
3) 安装hive apache-hive-0.13.0-bin.tar-gz
tar -zxvf apache-hive-0.13.0-bin.tar-gz
/bin : hive脚本
/lib
/conf
hive 脚本。
hive> 状态
show tables;
show databases;
load data local inpath '/root/stundent.txt' into table student;
select * from student;
metastore_db
cd metasore_db
数据都保存在 *.dat文件里
缺陷:
1)只支持一个链接。
实际开发中,将mysql作为metastore。
安装linux 版本的 mysql。
mysql 要允许远程连接。
32位的 rpm
rpm -ivh mysql-server-5.1.73-1.glibc23.rpm
rpm - qa |grep mysql
rpm -e | mysql-libs-5.1.i686
rpm -e | mysql-libs-5.1.i686 --nodeps -----暴力删除
rpm -ivh mysql-server-5.1.73-1.glibc23.rpm
rpm -ivh mysql-clinet-5.1.73.1.glibc23.rpm
初始化脚本
/usr/bin/mysql_secure_installation
设置root的密码
是否重新刷新权限表
Thanks for using Mysql!
mysql -uroot -p
show tables;
show databases;
把它作为metastore的数据库。
关闭hive。
hadoop fs -rmr /user/hive目录删除
修改配置文件:
vi hive-env.sh.template
mv hive-default.xml.template hive-site.xml
vi hive-site.xml
配置hive : 数据库的连接地址,连接驱动,用户名与密码。
<configuration>
<property>
</property>
</configuration>
cd bin/
./hive
1)找不到连接的驱动包。需要将连接驱动放到hadoop的lib下。
2)需要配置哪台机器可以远程连接该机器。
mysql -uroot -p123
授权语句:
grant
flush privileges;
show tables;
tbls 可以看到表相关信息。
columns_v2 存放表的字段放的位置。