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

溫馨提示×

溫馨提示×

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

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

數據倉庫和Hive環境的搭建方法

發布時間:2021-07-09 16:51:22 來源:億速云 閱讀:461 作者:chen 欄目:大數據

這篇文章主要講解了“數據倉庫和Hive環境的搭建方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“數據倉庫和Hive環境的搭建方法”吧!

上次介紹了HDFS,本來想進入Mapreduce,但感覺Mapreduce基本廢棄,于是直接進入了Hive中來。

數據倉庫

數據倉庫,英文名稱為Data  Warehouse,可簡寫為DW或DWH。數據倉庫顧名思義,是一個很大的數據存儲集合,出于企業的分析性報告和決策支持目的而創建,對多樣的業務數據進行篩選與整合。

它為企業提供一定的BI(商業智能)能力,指導業務流程改進、監視時間、成本、質量以及控制。

數據倉庫的輸入方是各種各樣的數據源,最終的輸出用于企業的數據分析、數據挖掘、數據報表等方向。

數據倉庫和Hive環境的搭建方法

數據庫和數據倉庫區別

數據庫是面向交易的處理系統,它是針對具體業務在數據庫聯機的日常操作,通常對記錄進行查詢、修改。用戶較為關心操作的響應時間、數據的安全性、完整性和并發支持的用戶數等問題。

數據倉庫一般針對某些主題的歷史數據進行分析,支持管理決策,又被稱為聯機分析處理 OLAP(On-Line Analytical  Processing)。

比如,支付寶年度賬單其本質是基于數據倉庫進行數據可視化而成。

數據倉庫和Hive環境的搭建方法

數據倉庫,是在數據庫已經大量存在的情況下,為了進一步挖掘數據資源、為了決策需要而產生的,它決不是所謂的“大型數據庫”。

數據倉庫分層

按照數據流入流出的過程,數據倉庫架構可分為三層——源數據(ODS)、數據倉庫(DW)、數據應用(APP)。

數據倉庫和Hive環境的搭建方法

Hive

Hive是一個構建在 Hadoop上的數據倉庫框架。最初,Hive是由Facebook開發,后來移交由 Apache!軟件基金會開發,并作為一個  Apache開源項目。

Hive是建立在  Hadoop上的數據倉庫基礎構架。它提供了一系列的工具,可以存儲、查詢和分析存儲在分布式存儲系統中的大規模數據集。Hive定義了簡單的類SQL査詢語言,通過底層的計算引擎,將SQL轉為具體的計算任務進行執行。

數據倉庫和Hive環境的搭建方法

Hive支持Mapreduce、Tez、Spark等分布式計算引擎。

Hive環境搭建

在Hive環境搭建無需配置集群,Hive的安裝其實有兩部分組成,一個是Server端、一個是客戶端,所謂服務端其實就是Hive管理Meta的那個Hive,服務端可以裝在任何節點上,可以是Namenode上也可以是Datanode的任意一個節點上。

Hive的客戶端界面工具早期選擇SQuirrel SQL Client,但最近我喜歡上了Apache Zeppelin,Apache  Zeppelin是一款基于Web的NoteBook,其實和Juypyter Notebook沒有什么兩樣。

在 Hive環境搭建,需要搭建Mysql,這里選擇節點node02進行Mysql環境搭建。

[hadoop@node02 ~]$ cd module/ [hadoop@node02 module]$ mkdir mysql [hadoop@node02 module]$ cd mysql/ [hadoop@node02 mysql]# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm [hadoop@node02 mysql]$ sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm [hadoop@node02 yum.repos.d]$ yum install mysql-server    [hadoop@node02 yum.repos.d]# #第一次登錄跳過權限認證 [hadoop@node02 yum.repos.d]# sudo vim /etc/my.cnf ############ [mysqld] # 添加下面一行 skip-grant-tables [hadoop@node02 yum.repos.d]# sudo systemctl start mysqld  [hadoop@node02 yum.repos.d]# mysql -u root mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';  Query OK, 0 rows affected (0.00 sec) mysql> create database hive; Query OK, 1 row affected (0.00 sec) mysql> exit; [hadoop@node02 yum.repos.d]# mysql -u root -p123456 mysql> use mysql; # 設置遠程連接權限 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)

下面開始在centos系統中安裝Hive。為了兼顧Hadoop3.1.4版本,我們選擇安裝hive3.1.2版本。Hive下載官方:http://www.apache.org/dyn/closer.cgi/hive/

數據倉庫和Hive環境的搭建方法

[hadoop@node02 module]$ ls apache-hive-3.1.2-bin.tar.gz  hadoop  mysql [hadoop@node02 module]$ tar -zxvf apache-hive-3.1.2-bin.tar.gz  [hadoop@node02 module]$ mv apache-hive-3.1.2-bin hive [hadoop@node02 module]$ ls apache-hive-3.1.2-bin.tar.gz  hadoop  hive  mysql  [hadoop@node02 conf]$ mv hive-env.sh.template hive-env.sh [hadoop@node02 conf]$ vim hive-env.sh ######### export HADOOP_HOME=/home/hadoop/module/hadoop/hadoop-3.1.4 export HIVE_CONF_DIR=/home/hadoop/module/hive/conf export HIVE_AUX_JARS_PATH=/home/hadoop/module/hive/lib  [hadoop@node02 conf]$ sudo vim /etc/profile ######### export HIVE_HOME=/home/hadoop/module/hive export PATH=$PATH:$HIVE_HOME/bin export HIVE_CONF_DIR=$HIVE_HOME/conf [hadoop@node02 conf]$ source /etc/profile [hadoop@node02 conf]$  mv hive-default.xml.template hive-site.xml [hadoop@node02 conf]$ vim hive-site.xml  ######### <property>  <!--   對應的文件夾需要創建  -->     <name>hive.exec.local.scratchdir</name>     <value>/home/hadoop/module/data/hive/jobs</value> </property> <property>     <name>hive.downloaded.resources.dir</name>     <value>/home/hadoop/module/data/hive/resources</value> </property> <property>     <name>javax.jdo.option.ConnectionUserName</name>     <value>root</value> </property> <property>     <name>javax.jdo.option.ConnectionPassword</name>     <value>123456</value> </property> <property>     <name>javax.jdo.option.ConnectionURL</name>     <value>jdbc:mysql://192.168.147.129:3306/hive?createDatabaseIfNotExsit=true</value> </property>  <!-- MySQL5.7使用com.mysql.jdbc.Driver    Mysql6版本使用com.mysql.cj.jdbc.Driver  --> <property>     <name>javax.jdo.option.ConnectionDriverName</name>     <value>com.mysql.jdbc.Driver</value> </property>

 數據倉庫和Hive環境的搭建方法

為了使用Java連接Mysql,需要下載Mysql驅動,下載地址:https://maven.ityuan.com/maven2/mysql/mysql-connector-java/5.1.33。

下載完成后并放在lib文件夾中,并通過hive初始化Mysql數據庫。

[hadoop@node02 lib]$ pwd /home/hadoop/module/hive/lib [hadoop@node02 lib]$ wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.33/mysql-connector-java-5.1.33.jar [hadoop@node02 lib]$ schematool -dbType mysql -initSchema

在Hive初始化Mysql數據庫,容易遇到兩個比較常見的Bug:

第一個Hive初始化Mysql數據庫:java.lang.NoSuchMethodError:  com.google.common.base.Preconditions.checkArgument

錯誤原因:系統找不到這個類所在的jar包或者jar包的版本不一樣系統不知道使用哪個。hive啟動報錯的原因是后者

解決辦法:

  1. com.google.common.base.Preconditions.checkArgument這個類所在的jar包為:guava.jar

  2. hadoop-3.2.1(路徑:hadoop\share\hadoop\common\lib)中該jar包為  guava-27.0-jre.jar;而hive-3.1.2(路徑:hive/lib)中該jar包為guava-19.0.1.jar

  3. 將jar包變成一致的版本:刪除hive中低版本jar包,將hadoop中高版本的復制到hive的lib中。

第二個Hive初始化Mysql數據庫:Exception in thread "main" java.lang.RuntimeException:  com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion  character (code 0x8 at

報錯原因:在本身的hive-site.xml配置文件中,3215行(見報錯記錄第二行)有特殊字符

解決辦法:進入hive-site.xml文件,跳轉到對應行,刪除里面的特殊字符即可。

如果報Unknown database 'hive',建議直接在MySQL中創建hive數據庫。

最終Hive成功初始化Mysql數據庫如下圖所示:

數據倉庫和Hive環境的搭建方法

查看hive數據庫,就會看見對應初始化的表生成。

數據倉庫和Hive環境的搭建方法

在輸入hive,即可進入Hive命令行,說明Hive搭建成功。

數據倉庫和Hive環境的搭建方法

感謝各位的閱讀,以上就是“數據倉庫和Hive環境的搭建方法”的內容了,經過本文的學習后,相信大家對數據倉庫和Hive環境的搭建方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

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

AI

淄博市| 大埔县| 西林县| 临沂市| 聊城市| 襄汾县| 铜鼓县| 华蓥市| 和林格尔县| 新源县| 濉溪县| 延安市| 锡林郭勒盟| 泸水县| 台南市| 望奎县| 三明市| 万年县| 横峰县| 化德县| 卓资县| 循化| 嘉善县| 新田县| 当涂县| 安龙县| 青州市| 博湖县| 宜黄县| 宾川县| 安陆市| 宁城县| 信宜市| 霍州市| 溆浦县| 财经| 嘉善县| 怀集县| 姚安县| 治多县| 天镇县|