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