1. 程式人生 > >Phoenix的簡介以及安裝部署

Phoenix的簡介以及安裝部署

1.什麼是Phoenix?

 phoenix,中文譯為“鳳凰”,很美的名字。Phoenix是由saleforce.com開源的一個專案,後又捐給了Apache基金會。它相當於一個Java中介軟體,提供jdbc連線,操作hbase資料表。Phoenix是一個HBase的開源SQL引擎。你可以使用標準的JDBC API代替HBase客戶端API來建立表,插入資料,查詢你的HBase資料。Phoenix的團隊用了一句話概括Phoenix:"We put the SQL back in NoSQL" 意思是:我們把SQL又放回NoSQL去了!這邊說的NoSQL專指HBase,意思是可以用SQL語句來查詢Hbase,你可能會說:“Hive和Impala也可以啊!”。但是Hive和Impala還可以查詢文字檔案,Phoenix的特點就是,它只能查Hbase,別的型別都不支援!但是也因為這種專一的態度,讓Phoenix在Hbase上查詢的效能超過了Hive和Impala!

2.Phoenix效能

 Phoenix是構建在HBase之上的SQL引擎。你也許會存在“Phoenix是否會降低HBase的效率?”或者“Phoenix效率是否很低?”這樣的疑慮,事實上並不會,Phoenix通過以下方式實現了比你自己手寫的方式相同或者可能是更好的效能(更不用說可以少寫了很多程式碼):
(1)編譯你的SQL查詢為原生HBase的scan語句。
(2)檢測scan語句最佳的開始和結束的key。
(3)精心編排你的scan語句讓他們並行執行。
(4)推送你的WHERE子句的謂詞到服務端過濾器處理。
(5)執行聚合查詢通過服務端鉤子(稱為協同處理器)。

除此之外,Phoenix還做了一些有趣的增強功能來更多地優化效能:
(1)實現了二級索引來提升非主鍵欄位查詢的效能。
(2)統計相關資料來提高並行化水平,並幫助選擇最佳優化方案。
(3)跳過掃描過濾器來優化IN,LIKE,OR查詢。

(4)優化主鍵的來均勻分佈寫壓力。

3.Phoenix的安裝部署

3.1、準備工作

提前安裝好ZK叢集、hadoop叢集、Hbase叢集

3.2、安裝包

從對應的地址下載:http://mirrors.cnnic.cn/apache/phoenix/
這裡我們使用的是:

phoenix-4.8.2-HBase-1.2-bin.tar.gz

3.3、上傳、解壓

將對應的安裝包上傳到對應的Hbase叢集其中一個伺服器的一個目錄下
解壓:tar -zxvf phoenix-4.8.2-HBase-1.2-bin.tar.gz  -C /export/servers
重新命名:mv phoenix-4.8.2-HBase-1.2-bin phoenix

3.4、配置

(1) 將phoenix目錄下的phoenix-4.8.2-HBase-1.2-server.jar、
phoenix-core-4.8.2-HBase-1.2.jar拷貝到各個 hbase的lib目錄下。
(2) 將hbase的配置檔案hbase-site.xml、 hadoop/etc/hadoop下的core-site.xml 、hdfs-site.xml放到phoenix/bin/下,替換phoenix原來的配置檔案。
(3) 重啟hbase叢集,使Phoenix的jar包生效。

3.5、驗證是否成功

(1) 在phoenix/bin下輸入命令:

埠可以省略


(2)    輸入!tables檢視都有哪些表。紅框部分是使用者建的表,其他為Phoenix系統表,系統表中維護了使用者表的元資料資訊


(3) 退出Phoenix。輸入!quit


相關推薦

Phoenix簡介以及安裝部署

1.什麼是Phoenix? phoenix,中文譯為“鳳凰”,很美的名字。Phoenix是由saleforce.com開源的一個專案,後又捐給了Apache基金會。它相當於一個Java中介軟體,提供jdbc連線,操作hbase資料表。Phoenix是一個HBase的開源SQL

一 JAVA整體概念以及安裝部署

配置系統 記事本 安裝 dev win10 回車 string 基本概念 實現 JAVA 基本概念 JVM(JAVA virtual machine)java虛擬機,是java的能跨平臺的核心,java的跨平臺實現,就是在各種系統中布置JVM,然後java應用運行在JV

Sqoop簡介安裝部署

cdh5 ive not 簡介 ins one generate and lin 簡介: Apache Sqoop是專為Apache Hadoop和結構化數據存儲如關系數據庫之間的數據轉換工具的有效工具。你可以使用Sqoop從外部結構化數據存儲的數據導入到Hadoop分布

Apache Flume簡介安裝部署

display 根據 buffers type hello headers agent tran 結構圖 概述 Flume 是 Cloudera 提供的一個高可用的,高可靠的,分布式的海量日誌采集、聚合和傳輸的軟件。 Flume 的核心是把數據從數據源(source)收集

Python(2)_Python簡介以及安裝

        昨晚在公司看到大佬用Python寫的自動化指令碼,一鍵完成了所有頁面上的手工操作,才知道Python原來如此強大,才知道自動化測試為什麼要Python,而不用Java來寫。Java是用來做系統的,它的健壯,強大給系統安全、穩定性提供了很大的保障。而Pyt

zookeeper的簡介以及安裝

Zookeeper簡介以及安裝 1.什麼是Zookeeper ZooKeeper是一個分散式的,開放原始碼的分散式應用程式協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要元件。 Dubbo建議使用Zookeeper作為服務的註冊中心

linux中資料倉庫工具hive簡介安裝部署詳解

簡介: Apache Hive是一個建立在Hadoop架構之上的資料倉庫。它能夠提供資料的精煉,查詢和分析。 hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,並提

強大的linux tool------valgrind的簡介以及安裝

                        valgrind是linux下的一個強大工具,  其子工具(通過toolname引數來控制)主要有:        1、memcheck:檢查眾多記憶體問題,如洩漏、越界、非法指標, 我們將一一介紹。  (如果省略toolname, 則預設是memcheck,

Kylin的簡介安裝部署

一.Kylin的概述 官方網址:http://kylin.apache.org/cn/       Apache Kylin™是一個開源的分散式分析引擎,提供Hadoop/Spark之上的SQL查詢介面及多維分析(OLAP)能力以支援超大規模資料,最初由eBay Inc. 開

GIT--簡介以及安裝

GIT和SVN的對比 SVN是集中式版本控制系統,版本庫是集中放在中央伺服器的,而幹活的時候,用的都是自己的電腦,所以首先要從中央伺服器哪裡得到最新的版本,然後幹活,幹完後,需要把自己做完的活推送到中央伺服器     缺點: 必須聯網才能工作,如果在區域網還可以,頻

Phoenix事物和安裝部署:CDH5.12.1和phoenix4.8結合

Phoenix安裝部署和事物支援配置遇到的問題:本人在cdh5.12叢集上部署phoenix,並讓其支援事物的經驗總結!! 過程遇到幾個比較關鍵的問題,希望對你們有所幫助 1)準備安裝包:  編譯完成的包:phoenix-4.9.0-cdh5.9.1.tar.gz 2)部署:

Cloudera簡介安裝部署概述

最近作者在研究Cloudera,並且在自己的虛擬機器叢集安裝部署成功,所以在此做個分享,幫助大家儘快構建自己的Cloudera環境並運用起來。文章將會對Cloudera以及其安裝時涉及到的元件做一個簡單的介紹,並把官方文件中介紹的3種安裝部署方式做一個概要的說明。Cloudera簡介為了構建一個以資料為驅動的

Linux常用命令以及安裝部署專案

Linux的常用命令: 1、linux作業系統的簡單應用 linux的文字模式介紹 [[email protected]`] 第一列代表root當前使用者 第二列localhost代表主機名 第三列代表當前按所在的目錄 ~home目錄 t

大資料排程框架Oozie概述以及安裝部署

一、初步認識Oozie 常用的排程框架: Linux Crontab Azkaban(簡單易用,但是功能不夠全) Oozie Zeus(阿里開源框架) Oozie是一個分散式大資料排程框架,在oozie中,有兩個重要的概念,工作流和排程。所謂工作流,就

Mongodb簡介安裝部署配置

red pid amount move num root follow pac lookup 1、Mongodb簡介及安裝部署 Mongodb 邏輯結構:Mongodb 邏輯結構 MySQL邏輯結構庫database

關於ubuntu服務器上部署postgresql 以及安裝pgadmin4管理工具(web版)

into alter 刪除記錄 creat password 改密 ack post 插入 進入目錄:cd pgadmin4 source bin/activate cd pgadmin4-1.6/ 啟動pgadmin4:python web/pgAdmin4.

Oracle數據庫簡介以及windows安裝過程

oracle數據庫Oracle數據庫簡介也許很多人熟悉SQL server,並不是太了解Oracle數據庫,這裏進行一下簡單的介紹Oracle數據庫的創始人是勞倫斯.埃裏斯Oracle數據庫能被多個操作系統使用eg:windows,linux,Solaris,AIX等現在我們把Oracle和SQL serve

redis以及php的redis擴展安裝部署

redis php 一.redis 安裝部署:tar xf redis-3.2.8.tar.gzcd redis-3.2.8make MANIFESTO=jemallocmake PREFIX=/usr/local/redis-3.2.8 installln -s /usr/local/redis-3

Bubble Babble Binary Data Encoding的簡介以及bubblepy的安裝使用方法

zip com 下載 words 選擇 github pca set span Bubble Babble Binary Data Encoding是由Antti Huima創建的一種編碼方法,可以把二進制信息表示為由交替的元音和輔音組成的偽詞(pseudo-words),

Linux集群簡介以及lvs-nat部署(一)

lvs集群;lvs-nat 隨著一個公司的不斷發展,用戶量隨之增多,對服務器的負載能力要求也逐漸增高,可采取換購高性能服務器解決負載能力問題,這叫做向上擴展。但擴展硬件終究會達到一個極限,此時便無法滿足負載要求。而且換購高性能服務器投入的資金與提高負載能力的水平並不劃算,可能投入大筆資金換來的只是20%