溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

云計算大數據學習路線課程大綱資料:hive入門操作

發布時間:2020-08-11 07:20:20 來源:ITPUB博客 閱讀:268 作者:千鋒云計算 欄目:云計算

一、hive產生背景

Apache Hive數據倉庫軟件可以使用SQL方便地閱讀、編寫和管理分布在分布式存儲中的大型數據集。結構可以投射到已經存儲的數據上。提供了一個命令行工具和JDBC驅動程序來將用戶連接到Hive。

? 由Facebook開源,最初用于解決海量結構化的日志數據統計問題

? MapReduce編程的不便性

? HDFS上的文件缺少Schema(字段名,字段類型等)

二、Hive是什么

? 構建在Hadoop之上的數據倉庫

? Hive定義了一種類SQL查詢語言:HQL(類似SQL但不完全相同)

? 通常用于進行離線數據處理(采用MapReduce)

? 底層支持多種不同的執行引擎(Hive on MapReduce、Hive on Tez、Hive on Spark)

? 支持多種不同的壓縮格式、存儲格式以及自定義函數(壓縮:GZIP、LZO、Snappy、BZIP2.. ; 存儲:TextFile、SequenceFile、RCFile、ORC、Parquet ; UDF:自定義函數)

到底什么是Hive,我們先看看Hive官網Wiki是如何介紹Hive的(https://cwiki.apache.org/confluence/display/Hive/Home):


云計算大數據學習路線課程大綱資料:hive入門操作


Apache Hive  Apache Hive? 數據倉庫軟件為分布式存儲的大數據集上的讀、寫、管理提供很大方便,同時還可以用SQL語法在大數據集上查詢。

1、是一種易于對數據實現提取、轉換、加載的工具(ETL)的工具??梢岳斫鉃閿祿逑捶治稣宫F。 2、它有一種將大量格式化數據強加上結構的機制。 3、它可以分析處理直接存儲在hdfs中的數據或者是別的數據存儲系統中的數據,如hbase。 4、查詢的執行經由mapreduce完成。 5、hive可以使用存儲過程 6、通過Apache YARN和Apache Slider實現亞秒級的查詢檢索。

三、hive的安裝

1.hive的單機安裝(使用derby做元數據存儲)

? 安裝包準備

 將hive安裝包 apache-hive-1.2.1-bin.tar.gz 上傳到虛擬機/bigdata/下

 

云計算大數據學習路線課程大綱資料:hive入門操作


 JDK安裝包 jdk-8u151-x64.gz

 集群的準備(linux1,linux2,linux3)

? hive的解壓安裝

 將上傳的hive解壓縮至虛擬機/app目錄下

 tar -zxvf /app/apache-hive-1.2.1-bin.tar.gz -C /app

云計算大數據學習路線課程大綱資料:hive入門操作


 

 mv /app/apache-hive-1.2.1-bin/ /app/hive-1.2.1

云計算大數據學習路線課程大綱資料:hive入門操作


 

? 配置hive的配置文件

 查看配置文件內容

云計算大數據學習路線課程大綱資料:hive入門操作


 

 拷貝配置文件hive-env.sh.template為hive-env.sh

 cp /app/hive-1.2.1/conf/hive-env.sh.template /app/hive-1.2.1/conf/hive-env.sh

 

云計算大數據學習路線課程大綱資料:hive入門操作


 

 vim /app/hive-1.2.1/conf/hive-env.sh

 

云計算大數據學習路線課程大綱資料:hive入門操作


 

? 配置hive的環境變量

 vim /etc/profile

云計算大數據學習路線課程大綱資料:hive入門操作


 

 source /etc/profile

which hive

 

云計算大數據學習路線課程大綱資料:hive入門操作


 

? 啟動hadoop集群

 

云計算大數據學習路線課程大綱資料:hive入門操作


 

? 啟動hive服務

 hive

 

云計算大數據學習路線課程大綱資料:hive入門操作


 

? 查看數據庫

 show databases;

 

云計算大數據學習路線課程大綱資料:hive入門操作


 

? 創建數據庫

 create database myhive;

show databases;

 

云計算大數據學習路線課程大綱資料:hive入門操作


 

? 創建表

 create table student(id int,chinese string,math string,English string);

 

云計算大數據學習路線課程大綱資料:hive入門操作


 

? 加載數據并查詢

 load data local inpath '/root/student.txt' into table student;

select * from student;

 

云計算大數據學習路線課程大綱資料:hive入門操作


 

2.hive的獨立安裝模式(使用mysql做元數據存儲)

? 安裝MySQL服務器端和MySQL客戶端,并啟動mysql服務。

? 在linux1上為Hive建立相應的MySQL賬戶,并賦予足夠的權限

create user 'hive' identified by '123456';

GRANT ALL PRIVILEGES ON *.* TO hive@'%' IDENTIFIED BY '123456' with grant option;

GRANT ALL PRIVILEGES ON *.* TO hive@'localhost' IDENTIFIED BY '123456' with grant option;

flush privileges 


云計算大數據學習路線課程大綱資料:hive入門操作


 

查看是否成功


云計算大數據學習路線課程大綱資料:hive入門操作


 

? 在內嵌模式下繼續配置hive:hive-site.xml,hive-env.sh

 配置hive-env.sh

 

云計算大數據學習路線課程大綱資料:hive入門操作


 

 配置hive-site.xml,拷貝/app/hive-1.2.1/conf下的hive-default.xml文件為hive-site.xml

 

 cp /app/hive-1.2.1/conf/hive-default.xml.template /app/hive-1.2.1/conf/hive-site.xml


 

 vim /app/hive-1.2.1/conf/hive-site.xml

 

? 拷貝數據驅動jar包到指定目錄/app/hive-1.2.1/lib/下。沒有驅動包會報錯

 

? 使用命令行的方式啟動hive服務,然后查看數據庫,創建數據庫名為heihei,查看集群web頁面

 

 查看集群web頁面,可以看見在hdfs上生成了對應heihei數據庫的文件目錄


 

? 使用beeline訪問hive

 exit命令退出剛才的hive服務,在linux1上修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置項, 通過httpfs接口匿名的方式登錄到hdfs文件系統。然后重新啟動集群。

 <property>

     <name> hadoop.proxyuser.root.hosts </name>

     <value> * </value>

</property>

<property>

     <name> hadoop.proxyuser.root.groups </name>

     <value> * </value>

</property>

 使用命令hive --service hiveserver2 & 后臺啟動hive服務

 hive --service hiveserver2 &

 

 克隆窗口作為客戶端連接,執行beeline腳本

 

 連接服務端,這種方式使用了thrift服務,10000為默認的連接端口號

 !connect jdbc:hive2://linux1:10000

 

 驗證連接的是不是我們剛才用命令行方式訪問的hive服務


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女