亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        分析Hive數(shù)據(jù)表處理方式

        2018-03-03 12:56:20
        網(wǎng)絡(luò)安全和信息化 2018年12期
        關(guān)鍵詞:設(shè)置數(shù)據(jù)庫

        Hive的安裝和配置

        將“Hive-x.x.x.tar.gz”復(fù)制到“/usr/local”目錄中,“x.x.x”標(biāo)識及具體的版本號,執(zhí)行“tar -zxvf hive-x.x.x.tar.gz”命令對其解壓縮,執(zhí)行“mv hivex.x.x hive”命令,將解壓目錄更名為“hive”,便于之后的使用。執(zhí)行“vi vi /etc/profile”命令,將其中增加export HIVE_HOME=/usr/local/hive”行,在“export PATH”語句中添加“:$HIVE_HOME/bin”的內(nèi)容。保存該文件后,執(zhí)行“source /etc/profile”命令,完成對環(huán)境變量的設(shè)置。

        進入“/usr/local/hive/conf”目錄,執(zhí)行“mv hiveenv.sh.template hive-env.sh” 和“mv hive-default.xml.template hive-site.xml”命令,得到所需的Hive配置文件。前面談到了Hive在HDFS中的默認位置,在“hive-site.xml” 文 件 中可以更改該位置,執(zhí)行“vi hive-site.xml”命 令,在其中搜索“”,您可以根據(jù)需要對其進行修改,例如將其更改為“hive/warehouse”。

        為了避免在啟動Hive時出現(xiàn)找不到類的錯誤,執(zhí)行“vi $HADOOP_HOME/conf/hadoop-env.sh”命令,在其中 添 加“export HADOOP_CLASSPATH=.:$CLAS

        PATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin”行。

        執(zhí) 行“vi $HIVE_HOME/bin/hive-config.sh” 命令,在 其 中 添 加“export JAVA_HOME=/usr/local/jdk”,“export HIVE_HOME=/usr/local/hive”,“export HADOOP_HOME=/usr/local/hadoop”等行。進入“/usr/local/hive/bin”目錄,執(zhí)行“hive”命令,進入其控制臺接口,在“hive>”提示符下可以執(zhí)行各種命令。

        例 如 執(zhí) 行“show databases;”命令,會顯示Hive的所有數(shù)據(jù)庫信息。例 如 執(zhí) 行“use default;”命令,選擇名為“default”的數(shù)據(jù)庫。執(zhí)行“show tables;”命令,顯示其下的表信息。用戶可以根據(jù)實際需要,來創(chuàng)建表。

        例如執(zhí)行“create table tk1(biaohao int,pinming string);”命令,就可以創(chuàng)建名為“tk1”的表。在瀏覽器中訪問“hadoopsrv1:5000/dfshealth.jsp”地 址,其中 的“hadoopsrv1” 為 本機名稱。在打開的節(jié)點網(wǎng)頁中點擊“Browse the filesystem”鏈接,在目錄內(nèi)容網(wǎng)頁中點擊表格中的“user”鏈接,之后依次點擊“hive”,“warehouse”,“tk1”等鏈接,可以查看與上述表對應(yīng)的目錄信息。在“/usr/local/hive/bin”目錄下執(zhí)行“l(fā)s”命令,可以看到名為“derby.log”,“metastore_db”等文件。

        配置基于MySQL的MetaStore存儲結(jié)構(gòu)

        MySQL的安裝分為客戶端和服務(wù)器端兩部分,執(zhí)行“rpm -i MySQL-server-5.x.xx-x.e16.i686.rpm” 命令,安裝服務(wù)器端程序。

        執(zhí) 行“mysqld_safe &”命令,在后臺啟動MySQL服務(wù)程序。

        執(zhí) 行“rpm -i MySQL-client-5.x.xx-x.e16.i686.rpm”命令,安裝MySQL客戶端程序。執(zhí)行“mysql_secure_installation” 命令,根據(jù)提示設(shè)置MySQL密碼。

        然后執(zhí)行“mysql -uroot-pxxx”命令登錄 MySQL,其中的“xxx”表示密碼。

        當(dāng)然,要想通過Hive連接MySQL,必須將MySQL的JDBC驅(qū)動包存儲到“/usr/local/hive/lib”目 錄中,所需的文件為“mysqlconnector-java-5.x.xx.jar”。

        執(zhí) 行“vi hive-site.xml”命令,在Hive的配置文件中找到“jdbc:derby:;databaseName=meta store_db;create=true”行, 將 其 修 改 為“”,其 中 的“hadoopsrv1”為 本 機 名,其主要功能是針對JDBC MetaStore設(shè)置JDBC連接字符串。在該行的下面找到“”行,將 其 修 改 為“”,設(shè)置針對JDBC MetaStore的驅(qū)動類名稱信息。

        找 到“”行,將其修改為“”,找 到“”行,將其修改為“”,其主要作用是設(shè)置MySQL的賬戶名和密碼信息。

        為了讓用戶可以遠程連接MySQL,需要進行授權(quán)操作。在MySQL控制臺中執(zhí)行“create database hive;”命令,創(chuàng)建名為“hive”的數(shù)據(jù)庫。執(zhí)行“GRANT all ON hive.* TO root@'%'IDENTIFIED BY 'xxx';”命令,為Root賬戶分配完全訪問權(quán)限。執(zhí)行“flush privileges;”命令刷新權(quán)限設(shè)置。執(zhí)行“set global binlog_format='MIXED';”命令,將二進制日志設(shè)置為混合模式。

        操作Hive的內(nèi)部表

        Hive的數(shù)據(jù)存儲基于Hadoop HDFS存儲的,其沒有專門的數(shù)據(jù)存儲格式,Hive支持數(shù)據(jù)庫、文件、表、視圖等存儲結(jié)構(gòu),其可以直接加載文本文件和序列文件。Hive中數(shù)據(jù)庫的概念和MySQL等常見數(shù)據(jù)庫是類似的,其默認數(shù)據(jù)庫為default”,當(dāng)啟動 Hive后,可以使用“use xxx”來使用目標(biāo)數(shù)據(jù)庫,“xxx”為數(shù)據(jù)庫的名稱。

        執(zhí) 行“hive>create database xxx;”命令,可以創(chuàng)建一個新的數(shù)據(jù)庫。對于Hive的操作來說,最常見的是對表的處理。在Hive中表的類型包括“Table”(內(nèi)部 表),“Partition”(分 區(qū)表),“External Table”(外部 表),“Bucket Table”(桶表)等。對于內(nèi)部表來說,其概念與一般數(shù)據(jù)庫中的表是類似的,所不同的是,內(nèi)部表在 Hive 中都有一個對應(yīng)的目錄用來存儲數(shù)據(jù)。例如對于表“TK1”來說,因為前面已經(jīng)更改了其默認存儲路徑,所以其在 HDFS中的存儲目錄為“/hive/warehouse/tk1”,該表中所有的數(shù)據(jù)都保存在這個目錄中。當(dāng)刪除該表時,與之相關(guān)的元數(shù)據(jù)與數(shù)據(jù)都會被刪除。

        使 用“CREATE TABLE”命令來創(chuàng)建內(nèi)部表,例如執(zhí)行“CREATE TABLE tk2(yh name,mima string)row format delimited fields terminated by ' ;”命令,可以創(chuàng)建名為“tk2”的表,注意其行分隔符為“ ”,這樣便于加載數(shù)據(jù)。在執(zhí)行數(shù)據(jù)添加操作時,需要先建立一個文本文件,按照預(yù)設(shè)的分隔符編輯數(shù)據(jù)。之后執(zhí)行“l(fā)oad data local inpath'/var/shujubiao.txt'into tk2;”命令,從指定的“shujubiao.txt”文件中直接加載數(shù)據(jù),完成表數(shù)據(jù)添加操作。

        當(dāng)然,也可以使用HDFS中 的“put”命 令,例如 執(zhí) 行“hadoop fs -put shujubiao.txt /hive/tk2”命令,也可以實現(xiàn)相同的加載操作。

        執(zhí) 行“select * from tk1”,“select count(*)from tk2”等命令,可以查看該表中的內(nèi)容。

        執(zhí) 行“select * from tk1 limit 9”命令,只隨機顯示TK1表9條數(shù)據(jù)。

        注意,如果對指定的字段查詢,Hive會使用mapReduce的Job執(zhí)行操作。執(zhí)行“drop table tk2”命令,可以刪除該表。

        操作Hive的分區(qū)表

        對于分區(qū)表來說,可以對數(shù)據(jù)進行分區(qū)操作,即按照某個字段,將文件劃分為不同的標(biāo)準(zhǔn)。在 Hive 中分區(qū)對應(yīng)于數(shù)據(jù)庫的分區(qū)列的密集索引,表中的一個分區(qū)對應(yīng)于表下的一個目錄,所有的分區(qū)的數(shù)據(jù)都存儲在對應(yīng)的目錄中。例如在“Product”表 中 包 含“brand” 和“factory”兩個分區(qū),那么對應(yīng) 于“Brand”=“dayang”,“F a c t o r y”=“b f y c”的 目 錄 為“/hive/product/brand=dayang/factory=bfyc”, 對 應(yīng)于“Brand”=“gyang”,“F a c t o r y”=“y z m t”的 目 錄 為“/hive/product/brand=gyang/factory=yzmt”。

        例 如,執(zhí) 行“create t a b l e p r o d u c t(x h string,factory string)partitioned by(brand) row format delimited fields terminated by ' ' stored as TEXTFILE;”命令,可以創(chuàng)建名為“product”的分區(qū)表。

        執(zhí)行“l(fā)oad data local inpath '/data/fenqubiao.dat' into table product partition (Brand='gyang'Factory='bfyc');”命令,就可以從“fenqubiao.dat”文件中按照預(yù)設(shè)分隔符加載分區(qū)數(shù)據(jù)了。

        執(zhí)行“show partitions xxx;”命令,可以看到名為“xxx”的表中存在哪些分區(qū)。查看分區(qū)表的方法以及刪除的方法與上述內(nèi)部表一致。如果要增加分區(qū)信息,可以執(zhí)行“alter table product add partition(Brand='flck');”命令,來添加新的分區(qū)。

        如果要刪除分區(qū),可 以 執(zhí) 行“alter table product drop partition(Brand='flck');”命令來實現(xiàn)。

        注意:當(dāng)刪除對應(yīng)分區(qū)后,其元數(shù)據(jù)和數(shù)據(jù)文件被刪除,但對應(yīng)的目錄依然存在。當(dāng)然,這里僅僅使用了簡單的例子進行說明。

        操作Hive的外部表

        上述類型的表也被稱為受控表,其特點是表的創(chuàng)建和數(shù)據(jù)加載是兩個過程,在加載數(shù)據(jù)時,數(shù)據(jù)實際上會被移動到對應(yīng)的數(shù)據(jù)倉庫目錄中,并且對數(shù)據(jù)對訪問都是直接在數(shù)據(jù)倉庫目錄中完成。當(dāng)刪除表時,表中的數(shù)據(jù)和元數(shù)據(jù)會被同時刪除。

        對于外部表來說,和上述類型的表存在很大的不同,其特點是指向在HDFS中已經(jīng)存在的數(shù)據(jù),可以預(yù)先創(chuàng)建分區(qū)。表的創(chuàng)建和數(shù)據(jù)加載屬于同一個過程,兩者可以同時完成,實際數(shù)據(jù)不會移動到數(shù)據(jù)倉庫目錄中,只是與外部數(shù)據(jù)建立一個鏈接。

        當(dāng)刪除一個外部表時,也僅僅刪除該鏈接。例如,事先創(chuàng)建名為“/waibu/data”的目錄,執(zhí)行“hadoop fs-put /tmp/wb.dat /waibu/data/”命令,將“wb.dat”文件上傳到該目錄中。執(zhí)行“create external table tkk1 (key1 string,key2 int) ROW FORMAT DELIMITED FIELDS TERMINATED BY' ' location '/waibu/data';”命令,使用預(yù)先存在的文件,按照預(yù)設(shè)的分隔符創(chuàng)建名為“tkk1”的外部表,這實際上是和外部數(shù)據(jù)建立了一個連接。當(dāng)執(zhí)行“drop table tkk1”命令,表示僅僅刪除表連接,但是實際數(shù)據(jù)并沒有被刪除。

        猜你喜歡
        設(shè)置數(shù)據(jù)庫
        中隊崗位該如何設(shè)置
        少先隊活動(2021年4期)2021-07-23 01:46:22
        7招教你手動設(shè)置參數(shù)
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        本刊欄目設(shè)置說明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        艦船人員編制的設(shè)置與控制
        亚洲精品国偷拍自产在线观看| 国产av三级精品车模| 在线成人影院国产av| 精品国产综合区久久久久久| 亚洲av无码日韩精品影片| 亚洲AV无码成人精品区天堂| 精品丝袜人妻久久久久久| 成人无码激情视频在线观看| 国产在线观看女主播户外| 亚洲av永久无码天堂网| 亚洲精品国产av成拍色拍| 日韩女人毛片在线播放| 亚洲精品女人天堂av麻| 国产一级内射视频在线观看| 国产美女在线精品免费观看| 中文字幕在线日韩| 日韩精品一区二区三区视频| 老鲁夜夜老鲁| 无码人妻精品一区二区三区下载| 国产精品国产三级国产专区5o| 人妻丰满精品一区二区| 国产精品高清一区二区三区不卡| 又色又污又爽又黄的网站| 女同性恋精品一区二区三区| 亚洲av网一区二区三区成人| 成年免费a级毛片免费看| 76少妇精品导航| 大白屁股流白浆一区二区三区| 久久久国产精品黄毛片| 丁香六月久久婷婷开心| 欧美精品一级| 亚洲国产天堂av成人在线播放| 人人妻人人澡人人爽人人dvd| 成年午夜无码av片在线观看| 无码人妻专区一区二区三区| 亚洲视频免费在线观看| 人妻夜夜爽天天爽| 国产成人综合久久久久久| 91精品蜜桃熟女一区二区| 日本丰满熟妇videossexhd| 中文字幕无码免费久久|