真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hive的安裝與MySQL結(jié)合

 #HIVE可以在任意節(jié)點搭建,實驗在master

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供漢源網(wǎng)站建設(shè)、漢源做網(wǎng)站、漢源網(wǎng)站設(shè)計、漢源網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、漢源企業(yè)網(wǎng)站模板建站服務(wù),十多年漢源做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

鏈接:http://pan.baidu.com/s/1i4LCmAp 密碼:302x hadoop+hive下載

##原封不動的復(fù)制,必死無疑,請根據(jù)實際填寫相關(guān)參數(shù)和路徑

1、  Hive的基礎(chǔ)設(shè)施

a、基于已經(jīng)搭建好的hadoop

b、下載hive版本,注意和hadoop對應(yīng)起來

2、安裝hive

a、下載好的包解壓到/usr/local/命名為hive

tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local

cd /usr/local

mvapache-hive-1.2.1-bin hive

b、設(shè)置環(huán)境變量

vim/etc/profile

exportHIVE_HOME=/usr/local/hive

exportHIVE_CONF_DIR=/usr/local/conf

exportPATH=$PATH:$HIVE_HOME/bin

exportHIVE_LIB=$HIVE_HOME/lib

到此就可以啟動hive

[root@mycat ~]# hive

Logging initialized using configuration injar:file:/usr/local/hive/lib/hive-common-1.2.1.jar!/hive-log4j.properties

hive> show databases;

OK

default

Time taken: 1.096 seconds, Fetched: 1row(s)

默認情況下,Hive元數(shù)據(jù)保存在內(nèi)嵌的Derby 數(shù)據(jù)庫中,只能允許一個會話連接,只適合簡單的測試。為了支持多用戶多會話,則需要一個獨立的元數(shù)據(jù)庫,我們使用 MySQL 作為元數(shù)據(jù)庫,Hive 內(nèi)部對 MySQL 提供了很好的支持。

二、使用MySQL存儲元數(shù)據(jù)

1、啟動mysql5.6版本(操作過程略)

2、配置hive文件,配置文件在/usr/local/hive/conf/目錄下有.template的模板文件,復(fù)制為hive-env.sh

[root@mycat conf]# cp hive-env.sh.templatehive-env.sh

[root@mycat conf]# vim hive-env.sh

##這里的配置和/etc/profile重復(fù),可以不配置,配置環(huán)境變量即可

1、環(huán)境變量

exportHADOOP_HEAPSIZE=1024

 HADOOP_HOME=/usr/local/hadoop

export HIVE_CONF_DIR=/usr/local/hive/conf

export HIVE_AUX_JARS_PATH=/usr/local/hive/lib

2、復(fù)制一個從模版文件復(fù)制一個hive-site.xml的文件

cp /usr/local/hive/conf/hive-default.xml.template ./hive-site.xml

通過name標(biāo)簽里的值找到value,修改值,配置文件下載:

http://down.51cto.com/data/2260702

##原封不動的復(fù)制,必死無疑,請根據(jù)實際填寫相關(guān)參數(shù)和路徑,標(biāo)記紅色的注意修改自己的實際

 hive.metastore.warehouse.dir

      /home/hive/warehouse

              javax.jdo.option.ConnectionURL

       jdbc:mysql://192.168.1.108:3306/hive?characterEncoding=UTF-8

                   #需要在數(shù)據(jù)庫里添加存儲元數(shù)據(jù)的庫

       javax.jdo.option.ConnectionUserName

       hive

       javax.jdo.option.ConnectionPassword

       mysql

##連接數(shù)據(jù)庫的用戶名和密碼,授權(quán)用戶名和密碼

   hive.hwi.listen.port  

   9999 

   hive.exec.local.scratchdir

   /home/hive

        hive.downloaded.resources.dir

    /home/hive/tmp

    hive.querylog.location

/home/hive

   配置輸出的日志信息

hive.log.dir=/home/hive

hive.log.file=hive.log

log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter

3、  根據(jù)配置創(chuàng)建HIVE存儲數(shù)據(jù)的目錄

mkdir /home/hive/tmp –p

4、  配置jdbc連接器

1、下載包并解壓

2、拷貝mysql-connector-java-5.1.6-bin.jar 到hive 的lib下面

若在操作刪除表的時候發(fā)現(xiàn)提示:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException

則需要替換mysql-connector-java包的版本

鏈接:http://pan.baidu.com/s/1qXIGeSG 密碼:iykt 下載包

cp mysql-connector-java-5.1.6-bin.jar /usr/local/hive/lib/

頁面提示

http://192.168.1.114:50070/explorer.html#/home提示這個需要修改

Permission denied: user=dr.who, access=READ_EXECUTE,inode="/home":root:supergroup:drwx-wx-wx

在vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml添加如下,后重啟

       dfs.permissions.enabled

       false

#配置完這些把namenode節(jié)點重啟生效

測試hive操作可以在mysql顯示及在HADOOP頁面也能展示出來

登陸hive

  1. 5.2創(chuàng)建內(nèi)部表 
    內(nèi)部表特點:數(shù)據(jù)加載到內(nèi)部表中是,如果數(shù)據(jù)在本地會在將本地數(shù)據(jù)拷貝一份到內(nèi)部LOCATION指定的目錄下,如果數(shù)據(jù)在hdfs上,則會將hdfs中的數(shù)據(jù)mv到內(nèi)部表指定的LOCATION中。刪除內(nèi)部表時,會刪除相應(yīng)LOCATION下的數(shù)據(jù)。

create table neibu_table(id int); 

show tables #進行查看

hive在hdfs中的默認位置是/user/hive/warehouse,該位置可以修改,是由配置文件hive-site.xml中屬性hive.metastore.warehouse.dir決定的,會在/home/hive/warehouse/testdb.db下創(chuàng)建student目錄。 
通過瀏覽器可以查看

Hive的安裝與MySQL結(jié)合

先來說下Hive中內(nèi)部表與外部表的區(qū)別:(重點) 

1)創(chuàng)建表時:創(chuàng)建內(nèi)部表時,會將數(shù)據(jù)移動到數(shù)據(jù)倉庫指向的路徑;若創(chuàng)建外部表,僅記錄數(shù)據(jù)所在的路徑, 不對數(shù)據(jù)的位置做任何改變。

2)刪除表時:在刪除表的時候,內(nèi)部表的元數(shù)據(jù)和數(shù)據(jù)會被一起刪除, 而外部表只刪除元數(shù)據(jù),不刪除數(shù)據(jù)。這樣外部表相對來說更加安全些,數(shù)據(jù)組織也更加靈活,方便共享源數(shù)據(jù)。

另外需要注意的是傳統(tǒng)數(shù)據(jù)庫對表數(shù)據(jù)驗證是 schema on write(寫時模式),而 Hive 在load時是不檢查數(shù)據(jù)是否符合schema的,hive 遵循的是 schema on read(讀時模式),只有在讀的時候hive才檢查、解析具體的 數(shù)據(jù)字段、schema。 
讀時模式的優(yōu)勢是load data 非常迅速,因為它不需要讀取數(shù)據(jù)進行解析,僅僅進行文件的復(fù)制或者移動。 
寫時模式的優(yōu)勢是提升了查詢性能,因為預(yù)先解析之后可以對列建立索引,并壓縮,但這樣也會花費要多的加載時間。

1、內(nèi)部表操作:

加載數(shù)據(jù)到表中方法:

##注意aa文件的數(shù)據(jù)要先創(chuàng)建好

hive> LOAD DATA LOCAL INPATH '/home/aa'INTO TABLE neibu_table;

Loading data to table default.neibu_table

Table default.neibu_table stats: [numFiles=1, totalSize=10]

OK

Time taken: 0.639 seconds

Select * from neibu_table

使用select* 不加條件時,不執(zhí)行MapReduce,執(zhí)行比較快;最后一行顯示的是null,原因是文件中有一行空格;

注意:內(nèi)部表會將數(shù)據(jù)拷貝一份到表目錄下面,如果刪除內(nèi)部表元數(shù)據(jù),那么該元數(shù)據(jù)下面的數(shù)據(jù)也會被刪除;

第二種加載數(shù)據(jù)到student中的方法 
注意bb.txt文件的路徑,并寫入一列數(shù)字; 
執(zhí)行命令hadoop fs -put bb.txt /home/hive/warehouse/neibu_table或者 hdfsdfs -put  t /home/hive/warehouse/neibu_table 

添加一個庫:create database hive20161120

2、分區(qū)表:將每個小時或每天的日志文件進行分區(qū)存儲,可以針對某個特定時間段做業(yè)務(wù)分析,而不必分析掃描所有數(shù)據(jù);

創(chuàng)建表a20161120,有多個列的情況創(chuàng)建表,指定分隔符為\t 

創(chuàng)建分區(qū)表:

CREATE TABLE fenqu(id int) PARTITIONED BY (d int);

LOAD DATA LOCAL INPATH 'bb.txt INTO TABLE fenquPARTITION (d=1); 
LOAD DATA LOCAL INPATH 'bb2.txt' INTO TABLE fenquPARTITION (d=2); 

3、 桶表 
(表連接時候使用,根據(jù)桶的個數(shù)進行取模運算,將不同的數(shù)據(jù)放到不同的桶中) 
創(chuàng)建桶類型的表 
create table student4(id int) clustered by(id)into 4 buckets; 
必須啟用桶表 
set hive.enforce.bucketing = true; 
插入數(shù)據(jù),這里并沒有使用load,而是用的insert,insert加載數(shù)據(jù)使用了mapreduce。 
insert into table student4 select id fromstudent3; 

在hive 添加的表可以在mysql查看他的元數(shù)據(jù)信息,在配置問建立定義的庫下記錄所有所有相關(guān)的記錄

Eg:select * from TBLS;

4、外部表:

   導(dǎo)入數(shù)據(jù)和內(nèi)部表一樣 ,這里不做重復(fù)

hive> drop table outer_table;

OK

Time taken: 0.081 seconds

hive> show tables;

OK

Time taken: 0.023 seconds

hive> create external table outer_table(id int)

    > ;

OK

Time taken: 0.037 seconds

hive> select * from outer_table 

    > ;

OK

1

2

3

4

5

6

7

8

9

10

Time taken: 0.044 seconds, Fetched: 10 row(s)


分享標(biāo)題:Hive的安裝與MySQL結(jié)合
網(wǎng)頁路徑:http://weahome.cn/article/iidheh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部