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

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