版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Phoenix安裝與使用文檔作者:宋亞飛 2015年3月27日目錄TOC o 1-3 h u HYPERLINK l _Toc16745 Phoenix安裝與使用文檔 PAGEREF _Toc16745 1 HYPERLINK l _Toc16460 目錄 PAGEREF _Toc16460 1 HYPERLINK l _Toc19327 描述 PAGEREF _Toc19327 2 HYPERLINK l _Toc20671 Phoenix安裝 PAGEREF _Toc20671 2 HYPERLINK l _Toc20771 1、 下載Phoenix PAGEREF _Toc20771 2
2、 HYPERLINK l _Toc20860 2、上傳壓縮包 PAGEREF _Toc20860 3 HYPERLINK l _Toc30228 3、解壓縮文件 PAGEREF _Toc30228 3 HYPERLINK l _Toc22742 4、 配置Phoenix PAGEREF _Toc22742 4 HYPERLINK l _Toc15007 5、 修改權(quán)限 PAGEREF _Toc15007 4 HYPERLINK l _Toc17417 6、 驗(yàn)證是否成功 PAGEREF _Toc17417 4 HYPERLINK l _Toc29870 Phoenix使用 PAGEREF _T
3、oc29870 5 HYPERLINK l _Toc12423 1、建表 PAGEREF _Toc12423 5 HYPERLINK l _Toc13904 2、導(dǎo)入數(shù)據(jù) PAGEREF _Toc13904 5 HYPERLINK l _Toc20710 3、查詢數(shù)據(jù) PAGEREF _Toc20710 5 HYPERLINK l _Toc13699 查詢1、查詢?nèi)坑涗?PAGEREF _Toc13699 5 HYPERLINK l _Toc510 查詢2、查詢記錄總條數(shù) PAGEREF _Toc510 6 HYPERLINK l _Toc10053 查詢3、查詢結(jié)果分組排序 PAGEREF
4、 _Toc10053 6 HYPERLINK l _Toc27192 查詢4、求平均值 PAGEREF _Toc27192 6 HYPERLINK l _Toc20536 查詢5、多字段分組,排序,別名。 PAGEREF _Toc20536 7 HYPERLINK l _Toc31777 查詢6、查詢?nèi)掌陬愋妥侄?PAGEREF _Toc31777 7 HYPERLINK l _Toc24411 查詢7、字符串,日期類型轉(zhuǎn)換 PAGEREF _Toc24411 7 HYPERLINK l _Toc16056 4、Phoenix基本shell命令 PAGEREF _Toc16056 8 HYPE
5、RLINK l _Toc2991 5、 用Phoenix Java api操作HBase PAGEREF _Toc2991 9 HYPERLINK l _Toc4374 Phoenix支持 PAGEREF _Toc4374 12描述現(xiàn)有hbase的查詢工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等。今天主要記錄Phoenix。phoenix,中文譯為“鳳凰”,很美的名字。Phoenix是由開源的一個(gè)項(xiàng)目,后又捐給了Apache基金會(huì)。它相當(dāng)于一個(gè)Java中間件,提供jdbc連接,操作hbase數(shù)據(jù)表。但是在生產(chǎn)環(huán)境中,不可以用在OLTP中。在線事務(wù)處理的
6、環(huán)境中,需要低延遲,而Phoenix在查詢HBase時(shí),雖然做了一些優(yōu)化,但延遲還是不小。所以依然是用在OLAT中,再將結(jié)果返回存儲(chǔ)下來(lái)。Phoenix官網(wǎng)上,對(duì)Phoenix講解已經(jīng)很詳細(xì)了。如果英語(yǔ)好,可以看官網(wǎng),更正式一些。Phoenix安裝下載Phoenix下載地址:phoenix與HBase版本對(duì)應(yīng)關(guān)系Phoenix 4.x - HBase 0.98.1+我目前測(cè)試使用版本概況:2、上傳壓縮包將phoenix-4.3.0-bin.tar.gz上傳hbase集群的其中一個(gè)服務(wù)器的一個(gè)目錄下我上傳的目錄為/usr/lib3、解壓縮文件tar 可看到有個(gè)phoenix-4.3.0-bin/
7、目錄,里面包含了Phoenix的所有文件。配置Phoenix4.1、將phoenix-4.3.0-bin/目錄下phoenix-core-4.3.0.jar、phoenix-4.3.0-client.jar拷貝到各個(gè)hbase的lib目錄下。4.2、重啟hbase集群,使Phoenix的jar包生效。4.3、將hbase的配置文件hbase-site.xml 放到phoenix-4.3.0-bin/bin/下,替換Phoenix原來(lái)的配置文件。修改權(quán)限切換到下,修改psql.py和sqlline.py的權(quán)限為777命令:chmod 777 文件名驗(yàn)證是否成功6.1、在phoenix-4.3.0
8、-bin/bin/下輸入命令: ./sqlline.py localhost 如果看到如下界面表示啟動(dòng)成功。6.2、輸入!tables,查看都有哪些表。紅框部分是用戶建的表,其他為Phoenix系統(tǒng)表,系統(tǒng)表中維護(hù)了用戶表的元數(shù)據(jù)信息。6.3、退出Phoenix。輸入!exit命令(PS:Phoenix早期版本如(2.11版本)需輸入!quilt才可退出,目前高版本已改為!exit命令)Phoenix使用1、建表./psql.py localhost:2181 ./examples/stock_symbol.sql,其中./examples/stock_symbol.sql是建表的sql語(yǔ)句C
9、REATE 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指定列族名 USAGE.DB BIGINT,-usage指定列族名 STATS.ACTIVE_VISITOR INTEGER CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, FEATURE, DATE)-指定主鍵);2、導(dǎo)入數(shù)據(jù)命令:./psql.py -
10、t WEB_STAT localhost:2181 ./examples/web_stat.csvPS:其中 -t 后面是表名, ./examples/web_stat.csv 是csv數(shù)據(jù)(注意數(shù)據(jù)的分隔符需要是逗號(hào))。3、查詢數(shù)據(jù)首先使用sqlline查看(截圖為部分列的數(shù)據(jù)),查詢表名不區(qū)分大小寫。查詢1、查詢?nèi)坑涗浾Z(yǔ)句:select * from web_stat;查詢2、查詢記錄總條數(shù)語(yǔ)句:select count(1) from web_stat;查詢3、查詢結(jié)果分組排序語(yǔ)句:select domain,count(1) as num from web_stat group by
11、 domain order by num desc;查詢4、求平均值語(yǔ)句:select avg(core) from web_stat;查詢5、多字段分組,排序,別名。語(yǔ)句:select domain,count(1) as num,avg(core) as core,avg(db) as db from web_stat group by domain order by num desc;查詢6、查詢?nèi)掌陬愋妥侄握Z(yǔ)句:select host,domain,date from web_stat where TO_CHAR(date)=2013-01-15 07:09:01.000;查詢7、字符
12、串,日期類型轉(zhuǎn)換語(yǔ)句:select TO_DATE(20131125,yyyyMMdd) from web_stat;Ps:輸入的日期字符串會(huì)被轉(zhuǎn)換為hbase表date的日期類型??偨Y(jié):Phoenix還支持了很多函數(shù)和sql語(yǔ)法,在這里不再一一列舉。更多請(qǐng)參考 HYPERLINK l _Phoenix支持 Phoenix支持部分4、Phoenix基本shell命令PS:以下,可能有部分命令在Phoenix更高版本中已失效,改為其他命令代替,請(qǐng)注意。0: jdbc:phoenix:localhost help!all Execute the specified SQL against all
13、the current connections!autocommit Set autocommit mode on or off!batch Start or execute a batch of statements!brief Set verbose mode off!call Execute a callable statement!close Close the current connection to the database!closeall Close all current open connections!columns List all the columns for t
14、he specified table!commit Commit the current transaction (if autocommit is off)!connect Open a new connection to the database.!dbinfo Give metadata information about the database!describe Describe a table!dropall Drop all tables in the current database!exportedkeys List all the exported keys for the
15、 specified table!go Select the current connection!help Print a summary of command usage!history Display the command history!importedkeys List all the imported keys for the specified table!indexes List all the indexes for the specified table!isolation Set the transaction isolation for this connection
16、!list List the current connections!manual Display the SQLLine manual!metadata Obtain metadata information!nativesql Show the native SQL for the specified statement!outputformat Set the output format for displaying results (table,vertical,csv,tsv,xmlattrs,xmlelements)!primarykeys List all the primary
17、 keys for the specified table!procedures List all the procedures!properties Connect to the database specified in the properties file(s)!quit Exits the program 此命令在Phoenix4.3版本已改為!exit!reconnect Reconnect to the database!record Record all output to the specified file!rehash Fetch table and column nam
18、es for command completion!rollback Roll back the current transaction (if autocommit is off)!run Run a script from the specified file!save Save the current variabes and aliases!scan Scan for installed JDBC drivers!script Start saving a script to a file!set Set a sqlline variable用Phoenix Java api操作HBa
19、se從集群拷貝以下文件:core-site.xml、hbase-site.xml、hdfs-site.xml文件放到工程src下把phoenix的phoenix-4.3.0-client.jar和phoenix-core-4.3.0.jar添加到工程classpath配置集群中各節(jié)點(diǎn)的hosts文件,把客戶端的hostname:IP添加進(jìn)去在客戶端host文件中加入集群的hostname和IP工程截圖工程代碼package com.byzoro.phoenix.test;import java.sql.Connection;import java.sql.DriverManager;impor
20、t java.sql.ResultSet;import java.sql.Statement;public class Phoenix_Test /* * 使用phoenix提供的api操作hbase讀取數(shù)據(jù) * author songyafei * param args * throws Throwable * date 2015-03-25 */public static void main(String args) throws Throwable try /下面的驅(qū)動(dòng)為Phoenix老版本使用2.11使用,對(duì)應(yīng)hbase0.94+/Class.forName(com.salesforc
21、e.phoenix.jdbc.PhoenixDriver);/phoenix4.3用下面的驅(qū)動(dòng)對(duì)應(yīng)hbase0.98+Class.forName(org.apache.phoenix.jdbc.PhoenixDriver); catch (Exception e) e.printStackTrace();/這里配置zookeeper的地址,可單個(gè),也可多個(gè)。可以是域名或者ipString url = jdbc:phoenix:1:2181;/String url = jdbc:phoenix:41.,42.,43.:2181;Connection conn = DriverManager.ge
22、tConnection(url);Statement statement = conn.createStatement();String sql = select count(1) as num from web_stat;long time = System.currentTimeMillis();ResultSet rs = statement.executeQuery(sql);while (rs.next() int count = rs.getInt(num);System.out.println(row count is + count);long timeUsed = Syste
23、m.currentTimeMillis() - time;System.out.println(time + timeUsed + mm);/關(guān)閉連接rs.close();statement.close();conn.close();運(yùn)行截圖:實(shí)例二:package com.byzoro.phoenix.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Phoenix_Test /* * 使用
24、phoenix提供的api操作hbase中讀取數(shù)據(jù) * author songyafei * param args * throws Throwable * date 2015-03-25 */public static void main(String args) throws Throwable try /下面的驅(qū)動(dòng)為Phoenix老版本使用2.11使用,對(duì)應(yīng)hbase0.94+/Class.forName(com.salesforce.phoenix.jdbc.PhoenixDriver);/phoenix4.3用下面的驅(qū)動(dòng)對(duì)應(yīng)hbase0.98+Class.forName(org.apache.phoenix.jdbc.PhoenixDriver); catch (Exception e) e.printStackTrace();/這里配置zk的地址,可單個(gè),也可多個(gè)??梢允怯蛎蛘遡pString url = jdbc:phoenix:1:2181;/String url = jdbc:phoenix:41.,42.,43.:2181;Connection conn = DriverManager.getConnection(url);Statement statement = conn.createSta
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年農(nóng)村生態(tài)環(huán)境保護(hù)規(guī)劃合同
- 2025年度會(huì)議禮品定制與派發(fā)服務(wù)合同4篇
- 二零二四年塔吊設(shè)備安全操作手冊(cè)購(gòu)銷合同3篇
- 2025年廠區(qū)綠化與環(huán)境保護(hù)風(fēng)險(xiǎn)評(píng)估服務(wù)合同4篇
- 安徽教師考編數(shù)學(xué)試卷
- 濾水管安裝施工方案
- 二零二四年度租賃合同返租終止協(xié)議2篇
- 柯坪縣雙峰駝隱孢子蟲和芽囊原蟲的分子檢測(cè)與鑒定
- 生態(tài)系統(tǒng)理論在鄉(xiāng)村教育紀(jì)錄片中的影像建構(gòu)和顯現(xiàn)
- 企業(yè)過(guò)度負(fù)債的行業(yè)同群效應(yīng)研究
- 四則混合運(yùn)算100道題四年級(jí)上冊(cè)及答案
- 四川省高職單招電氣技術(shù)類《電子基礎(chǔ)》歷年考試真題試題庫(kù)(含答案)
- 中級(jí)半導(dǎo)體分立器件和集成電路裝調(diào)工技能鑒定考試題庫(kù)(含答案)
- 2024年江西生物科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)帶解析答案
- 橋本甲狀腺炎-90天治療方案
- (2024年)安全注射培訓(xùn)課件
- 2024版《建設(shè)工程開工、停工、復(fù)工安全管理臺(tái)賬表格(流程圖、申請(qǐng)表、報(bào)審表、考核表、通知單等)》模版
- 部編版《道德與法治》六年級(jí)下冊(cè)教材分析萬(wàn)永霞
- 酒店人防管理制度
- 油田酸化工藝技術(shù)
- 上海高考英語(yǔ)詞匯手冊(cè)列表
評(píng)論
0/150
提交評(píng)論