hadodop之hive 第一章 hive原理及如何使用Mysql作为hive的metastore元数据库

 
  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  存放表的字段放的位置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章