• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    使用Phoenix操作數(shù)據(jù)庫

    2019-12-23 21:47:17河南郭建偉
    網(wǎng)絡(luò)安全和信息化 2019年5期
    關(guān)鍵詞:安裝包命令客戶端

    ■ 河南 郭建偉

    編者按:Phoenix是架構(gòu)在Hbase之上的高性能關(guān)系數(shù)據(jù)庫層,可用于低延時的應(yīng)用。Phoenix可利用SQL語句來對Hbase進行查詢。Phoenix相當(dāng)于一個Java的中間件,利用JDBC連接來操作Hbase數(shù)據(jù)庫。

    Phoenix支持的Secondary Indexing(二級索引)包括Functional Indexes(函數(shù)索引),Global Indexing(全 局 索 引)和Local Indexing(本地索引)。并且從V4.4.0開始,支持允許用戶創(chuàng)建和部署自定義的函數(shù)。

    Phoenix可以支持將CSV數(shù)據(jù)加載到Phoenix表中,其一通過psql命令以單線程方式進行加載,適用于數(shù)據(jù)量較少的情況。其二是基于MapReduce的Bulk Load工具進行加載,適用于數(shù)據(jù)量較大的情況。Phoenix提供了查詢服務(wù)器,可以提供瘦客戶端的連接方式。從V4.1開始,Phoenix提供了跟蹤的特性,可以查詢每個請求的Trace信息,利用這一特性可以了解Query和Insert操作的所有細(xì)節(jié)。Phoenix支持JDBC Array數(shù)據(jù)類型,Sequences是標(biāo)準(zhǔn)的SQL特性,可以生成自動增長的數(shù)字作為表的某列的ID,Phoenix支持序列特性。Phoenix通 過 Update Statistice可以更新表的統(tǒng)計信息,來提高查詢的性能。

    此外,Phoenix還支持Joins(連接),Subqueries(子查詢),Views(視圖),Multi tenancy(多租戶,允許不同的組合連接實現(xiàn)數(shù)據(jù)訪問的隔離),Oaged Querties(分頁查詢),Dynamic Columns(動態(tài)列),Skip Scan(跳躍掃描,在范圍掃描時極大的提高性能),Salted Tables(散布表,可以有效解決因為Row Key自動增長,導(dǎo)致Hbase順序?qū)懸l(fā)的Region Server數(shù)據(jù)熱點問題),Row Timestampcolumn(時 間 戳列,將Hbase中的本地時間戳映射為Phoenix中的列,有利于Hbase基于時間范圍的查詢)等特性。Phoenix提供了很多的操作命令,其大體上和標(biāo)準(zhǔn)的SQL語句相當(dāng),但是存在一些細(xì)節(jié)的不同,例如其使用Upsert命令取代Insert操作等。

    安裝和配置Phoenix

    在 安 裝Phoenix時,需要注意對于不同版本的Hbase來說,需要對應(yīng)版本的Phoenix安裝包。例如執(zhí)行“su - hadoop”,“cd /hadoop/hbase-x.x.x.x/bin”,“./hbase version”命令,可以查看Hbase的版本信息。

    執(zhí) 行“g u n z i p Phoenix-4.x.x-hbase-1.x.-bin.tar.gz”命 令,對Phoenix安裝包進行解壓。

    執(zhí) 行“t a r -x v f Phoenix-4.x.x-hbase-1.x.-bin.tar”命令,提取其中的文件。進入Phoenix解壓路徑,執(zhí)行“l(fā)s *core*jar”和“l(fā)s *client.jar*”命令。來查詢關(guān)鍵的Jar文件。對于Hbase集群來說,需要將相關(guān)的Jar文件復(fù)制到所有的節(jié)點上。

    執(zhí) 行“cp Phoenixcore-4.x.x-hnase-1.x.jar/hadoop/hbase-1.x.x.x/lib”命令,將指定的Jar文件復(fù)制到當(dāng)前節(jié)點的Hbase路徑中的“l(fā)ib”目錄下。

    執(zhí) 行“scp Phoenixcore-4.x.x-hnase-1.x.jar 172.16.1.100:/hadoop/hbase-1.x.x.x/lib” 命令,將其復(fù)制到另外的一個節(jié)點上,假設(shè)其IP為“172.16.1.100”,如果有其他節(jié)點需要依次復(fù)制。按照相同的方法,將“Phoenix-4.x.x-hbase-1.x-client.jar”文件復(fù)制到本地以及其他Hbase節(jié)點的“l(fā)ib”目錄中。其中的“x”表示具體的版本信息,需要根據(jù)具體情況進行調(diào)整。

    進入Hadoop路徑下的“bin”目錄,執(zhí)行“./stophase.sh”和“/start-hbase.sh”命令。來重啟Hbase集群,讓上述Jar包生效。

    進入Phoenix安裝路徑下的“bin”目錄,執(zhí)行“cp/hadoop/hbase-1.x.x.x/conf/hbase-site.xml ./”命令,將Hbase的“/hbasesite.xml”文件復(fù)制進來。

    執(zhí) 行“./sqlline.py localhost”命令,連接本地節(jié)點,在Phoenix客戶端控制臺下執(zhí)行“!tables”命令,顯示其所有的系統(tǒng)表和用戶表,執(zhí)行“!exit”命令,退出操作環(huán)境。對應(yīng)的進入Hbase的“bin”目錄下,執(zhí)行“./hbase shell”命令。在控制臺下執(zhí)行“l(fā)ist”命令,可以看到上述Phoenix創(chuàng)建的系統(tǒng)表。

    用Phoenix管理Hbase數(shù)據(jù)

    下面簡單舉例說明如何使用Phoenix來管理數(shù)據(jù),在Phoenix客戶端控制下執(zhí)行“CREATE TABLE IF NOT EXISTS WEB_STAT ( HOST CHAR(2) NOT NULL,DOMAIN VARCHAR NOT NULL,FEATURE VARCHAR NOT NULL,DATE DATE NOT NULL,USAGE.CORE BIGINT,USAGE.D B B I G I N T,S T A T S.ACTIVE_VISITOR INTEGER CONSTRAINT PK PRIMARY KE Y(HOST,DOMAIN,FEATURE,DA TA));”命令,創(chuàng)建名為“Web_Stat”的表,該命令首先會判斷該表是否存在,如果不存在則創(chuàng)建表。

    在其中創(chuàng)建名為“HOST”,“DOMAIN”,“FEATURE”和“DATE”等列,之后等行用來指定在表中列和列族,“USAGE”和“STATS”代 表 列 族,“CORE”,“DB”和“ACTIVE_VISITOR”表示列,同時指明列的數(shù)據(jù)類型。并使用“PRIMARY KEY”來指定相關(guān)的主鍵。

    執(zhí)行“!tables”命令,可以看到上述表已經(jīng)創(chuàng)建成功。對應(yīng)地,在Hbase控制臺下執(zhí)行“l(fā)ist”命令,也可以看到該表的存在。

    執(zhí) 行“describe "WEB_STAT"”命令,來查看該表的信息。因為Phoenix支持將CSV文件導(dǎo)入到表中,進入Phoenix安裝路徑下的“bin”目錄,執(zhí)行“./psql.py -t WEB_STAT localhost "../examples/WEB_STAT.csv”命令,將指定路徑中的“WEB_STAT.csv”文件中的內(nèi)容導(dǎo)入進來,其中的“-t”參數(shù)指定表的名稱。

    注意:在該CSV文件中每列之間需以逗號進行分隔。

    在Hbase控制臺中執(zhí)行“scan "WEB_STAT"”命令,可以查看該表的數(shù)據(jù)。

    在Phoenix客戶端控制臺下執(zhí)行“select * from web_stat;”命令可以查看該表的所有內(nèi)容。

    執(zhí)行“select count(*)from web_stat;”命令,顯示該表中的記錄數(shù)。

    執(zhí) 行“s e l e c t domain,count(*) as num from web_stat group by domain order by num desc;”命令,針對“domain”列進行分組,使用特定的列進行排序。

    執(zhí)行“select avg(core)from web_stat;”命令,來查詢指定列的平均值。

    執(zhí) 行“s e l e c t domain,count(*) as n u m,a v g(c o r e) a s core,avg(db) as db from web_stat group by domain order by num desc;”命令,可以執(zhí)行多字段分組功能。

    執(zhí) 行“s e l e c t host,domain,date from web_stat where TO_CHAR(date)="2018-10-15 15:30:01.000"” 命 令,來查詢指定日期的字段。 執(zhí) 行“select TO_DATE("20181030","yyyyMMd d") from web_stat”命令,轉(zhuǎn)換字符串和日期類型。

    猜你喜歡
    安裝包命令客戶端
    手機之間如何快速分享應(yīng)用安裝包
    只聽主人的命令
    縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
    傳媒評論(2018年4期)2018-06-27 08:20:24
    孵化垂直頻道:新聞客戶端新策略
    傳媒評論(2018年4期)2018-06-27 08:20:16
    基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
    電子測試(2018年10期)2018-06-26 05:53:34
    移防命令下達(dá)后
    另類解壓軟件安裝包
    電腦愛好者(2017年3期)2017-05-04 10:29:50
    這是人民的命令
    藍(lán)色命令
    客戶端空間數(shù)據(jù)緩存策略
    探索| 永兴县| 杂多县| 正安县| 花莲县| 棋牌| 吉水县| 文水县| 石棉县| 广宗县| 东安县| 巴东县| 元阳县| 林甸县| 邓州市| 台湾省| 清新县| 沅陵县| 定结县| 丁青县| 无锡市| 德阳市| 思南县| 德州市| 昭平县| 永仁县| 双柏县| 维西| 仁布县| 兴和县| 林西县| 河北省| 马山县| 永新县| 灵川县| 石河子市| 教育| 扎囊县| 车致| 馆陶县| 石台县|