大數據開發之hive知識點總結

hive

一、認知

              數據庫與數據倉庫

                 數據庫

                      mysql,oracle,sqlserver,DB2,sqlite,MDB

                 數據倉庫

                      hive

                            是MR的客戶端,不必要每臺機器都安裝部署

              特性

                 1、hive操作接口是採用SQL語法的,HQL

                 2、避免了寫MapReduce的繁瑣過程

              體系結構

                 1、client

                       終端命令行

                      JDBC,不常用,很麻煩

                 2、matastore

                      原本的數據集和字段名稱以及數據信息之間的雙射關係

                      我們目前是存在mysql中

                 3、serverce---hadoop

                      在操作hive之前,需要將hadoop的HDFS開啓,YARN開啓,MAPRED配置好

           mysql----metastore----雙射,唯一映射

                 hive把拿到的數據通過SQL語句,轉化爲MR代碼

二、hive的部署與安裝

           1、解壓hive到安裝目錄

           2、重命名配置文件

           3、hive-env.sh

           4、安裝mysql

                 1)yum -y install mysql mysql-server mysql-devel

                 2)wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

                 3)rpm -ivh mysql-community-release-el7-5.noarch.rpm

                 4)yum -y install mysql-community-server

                 ps:如果使用離線綠色版本(免安裝版本)需要手動初始化mysql數據庫

           5、配置mysql

                 1)開啓mysql服務systemctl start mysqld.service

                 2)設置root用戶密碼#mysqladmin -uroot password '123456'

                 3)爲用戶以及其它機器節點授權#grant all *.* to root@'hadoop001' identified by '123456';

                      grant:授權

                      all:所有權限

                      *.*:數據庫名稱.表名稱

                      root:操作mysql的用戶

                      @'':主機名

                      密碼:123456

                 4)hive-site.xml

                      (1)<name>javax.jdo.option.ConnectionURL</name>

                            <value>jdbc:mysql://hlh001:3306/hive?createDatabaseIfNotExist=true</value>

                      (2)<name>javax.jdo.option.ConnectionDriverName</name>

                            <value>com.mysql.jdbc.Driver</value>

                      (3)<name>javax.jdo.option.ConnectionUserName</name>

                            <value>root</value>

                      (4)<name>javax.jdo.option.ConnectionPassword</name>

                            <value>123</value>

                 5)hive-log4j.properties

                      hive.log.dir=/opt/module/hive/logs

                 6)拷貝mysql-connector-java.jar驅動包到hive的lib目錄下

           6、啓動hive

                 bin/hive

           7、修改HDFS系統中關於hive的一些目錄權限

                 /opt/module/hadoop/bin/hadoop fs -chmod 777 /tmp/

                 /opt/module/hadoop/bin/hadoop fs -chmod 777 /user/hive/warehouse

           8、顯示數據庫名稱以及字段名稱

                 是否在當前客戶端中顯示查詢出來的數據的字段的名稱hive.cli.print.header

                      true

                 是否在當前客戶端中顯示當前數據庫名稱hive.cli.print.current.db

                      true

三、基礎操作

           1、創建數據庫和表操作

                 創建數據庫

                      hive> create database staff;

                 創建表

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

           2、導入數據

                 從本地導入

                      load data local inpath '文件路徑' into table;

                            select * from table

                            select name from table

                 從HDFS系統導入

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