中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Hive基本原理及環境怎么搭建

發布時間:2021-12-01 15:12:14 來源:億速云 閱讀:142 作者:柒染 欄目:云計算

Hive基本原理及環境怎么搭建,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

      今天我主要是在折騰這個Hive,早上看了一下書,最開始有點凌亂,后面慢慢地發現,hive其實挺簡單的,以我的理解就是和數據庫有關的東西,那這樣的話對我來說就容易多啦,因為我對sql語法應該是比較熟悉了,而這個是HQL的,其實很多都差不多。先來看一下Hive的基本介紹:

一、Hive基本原理

       hive是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行運行。 其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合數據倉庫的統計分析。

       Hive將元數據存儲在數據庫(RDBMS)中,比如MySQL、Derby中。Hive有三種模式連接到數據,其方式是:單用戶模式,多用戶模式和遠程服務模式。(也就是內嵌模式
、本地模式、遠程模式)。

1.1 Hive體系結構:

Hive體系結構圖:主要分為:用戶接口、Thrift服務器、元數據存儲、解析器、Hadoop

Hive基本原理及環境怎么搭建

1.2 Hive數據類型

Hive的存儲是建立在Hadoop文件系統之上的,它本身沒有專門的數據存儲格式,其主要包括四類數據模型:
表(Table)
分區(Partition)
桶(Bucket)
外部表(External Table)

Hive基本原理及環境怎么搭建

1.3Hive的執行流程要點
操作符(Operator)是Hive的最小處理單位;
每個操作符處理代表HDFS操作或MR作業;
編譯器把Hive SQL轉換成一組操作符;
Hive通過ExecMapper和ExecReducer來執行MapReduce任務;
執行MapReduce時有兩種模式:本地模式和分布式模式;

常見的Hive操作符(部分)如下:

1.4 Hive的HQL操作

hive基本的運行操作其實和sql差不多,例如:

select u.name, o.orderid from order o join user u on o.uid = u.uid;

select dealid, count(distinct uid), count(distinct date) from order group by dealid;


簡單Hive表語句:
create table student
(
    name string,
    sex string,
    age int
);

二、Hive基本配置

    1、從apache官網的hadoop找到hive,目前最新版本是2.0.1,我下的就是這個,http://hive.apache.org/downloads.html,

   2、下載mysql驅動,目前是5.1.38的 ,我已經把這需要的兩個整理好一個壓縮包了,可以通過以下鏈接下載:(我后續貼出)

   3、分別解壓到你需要的目錄中,我是放置在/home/admin1/下載/hive-2.0.1中的,把mysql驅動也放到hive的這個lib包中,然后在hive-2.0.1/conf中對以下文件進行配置:

新建一個文件hive-env.sh

把里面的目錄改成你的hadoop放置的目錄就可以了。

export HIVE_HOME=/home/admin1/下載/hive-2.0.1
export PATH=$PATH:$HIVE_HOME/bin
HADOOP_HOME=/home/admin1/下載/hadoop-2.5.2
export HIVE_CONF_DIR=/home/admin1/下載/hive-2.0.1/conf
export HIVE_AUX_JARS_PATH=/home/admin1/下載/hive-2.0.1/lib

還需要新建一個hive-site.xml:

這里我用的是mysql的賬號和密碼來配置的,其他的你也可以參照配置。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>

<name>javax.jdo.option.ConnectionURL</name>

<!--<value>jdbc:derby:;databaseName=metastore_db;create=true</value>-->

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

<description>JDBC connect string for a JDBCmetastore</description>

</property> 

<property>

<name>javax.jdo.option.ConnectionDriverName</name>

<!--<value>org.apache.derby.jdbc.EmbeddedDriver</value>-->

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

<description>Driver class name for a JDBCmetastore</description>

</property> 

<property>

<name>javax.jdo.option.ConnectionUserName</name>

<value>hive</value>

<description>username to use against metastoredatabase</description>

</property>

<property>

<name>javax.jdo.option.ConnectionPassword</name>

<value>a</value>

<description>password to use against metastoredatabase</description>

</property>
</configuration>


啟動:在/home/admin1/下載/hive-2.0.1中執行:
bin/hive
 若無法初始化,則:
bin/schematool -dbType mysql  -initSchema

在hive2.0以上版本都需要initSchema一下,否則會報錯,我也是因為這個問題折騰了好幾個小時,最后發現很簡單就解決了。

最后說一下的就是在安裝mysql的時候,你可以直接用ubuntu里面的uk軟件下載就可以了,在里面搜索mysql,然后下載mysql的服務器,客戶端和工作平臺就可以了,這里不再重復啰嗦了,就是需要在控制臺創建一下新用戶:

mysql -uroot

create user 'hive' identify by 'hive';

create database hive;

grant all privileges on *.* to   'hive'@'localhost'   identified by 'hive';

flush privileges

然后可以通過hive賬號進行登陸就可以了,

mysql  -u hive -p 

然后輸入密碼hive就成功登陸,把這個登陸信息配置到hive-site.xml中就可以了。

接下來就可以愉快的進行hive的使用了,創建表等。記得要把hadoop的服務打開哦  ,    sbin/start-all.sh

總結:今天遇到的兩個主要問題就是,1:bin/hive后一直報錯,最后初始化之后就可以了。2、在linux中的sublim-text無法輸入中文,且無法下載gpk解決,無法編譯sublime_imfix.c,后來通過在github上面發現已經編譯好的庫,然后導入,經過一系列復雜的操作最后成功解決了這個問題。找對方法,找對工具。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

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

AI

错那县| 子洲县| 额尔古纳市| 丽水市| 称多县| 博湖县| 乳源| 子洲县| 威信县| 弋阳县| 多伦县| 盐池县| 招远市| 万全县| 巫溪县| 前郭尔| 南安市| 红原县| 台北县| 锦州市| 罗江县| 红河县| 黔东| 大石桥市| 西峡县| 茶陵县| 台前县| 清镇市| 江门市| 新余市| 湖口县| 沙湾县| 错那县| 苍山县| 宿松县| 天气| 攀枝花市| 陆丰市| 湾仔区| 英德市| 中阳县|