`
bupt04406
  • 浏览: 348352 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Phoneix

 
阅读更多

https://github.com/forcedotcom/phoenix

 

http://www.vogella.com/articles/MySQLJava/article.html 

 

HBase shell :

create 't1', {NAME => 'f1', VERSIONS => 5}

put 't1', "row1", 'f1:1', "aaa"

scan 't1'

 

Phoneix:

 

!tables

 

CREATE TABLE IF NOT EXISTS "t1" (
     row VARCHAR NOT NULL,
     "f1"."1" VARCHAR
     CONSTRAINT PK PRIMARY KEY (row)
);

select * from "t1";

drop table "t1"; // t1表里面的数据被删除掉了,但是table是存在的。

 

 ./sqlline.sh node35:2224 ../examples/stock_symbol.sql

./psql.sh node35:2224 ../examples/web_stat.sql ../examples/web_stat.csv ../examples/web_stat_queries.sql

./performance.sh node35:2224 1000000

 

performance.sh里面

# Create Table DDL

createtable="CREATE TABLE IF NOT EXISTS $table (HOST CHAR(2) NOT NULL,DOMAIN VARCHAR NOT NULL,

FEATURE VARCHAR NOT NULL,DATE DATE NOT NULL,USAGE.CORE BIGINT,USAGE.DB BIGINT,STATS.ACTIVE_VISITOR 

INTEGER CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, FEATURE, DATE)) 

SPLIT ON ('CSGoogle','CSSalesforce','EUApple','EUGoogle','EUSalesforce','NAApple','NAGoogle','NASalesforce');"

 


0: jdbc:phoenix:node35:2224> select count(*) from PERFORMANCE_1000000;
+----------+
| COUNT(1) |
+----------+
| 1000000  |
+----------+

0: jdbc:phoenix:node35:2224> select * from PERFORMANCE_1000000 limit 2;
+------+------------+------------+---------------------+----------+----------+----------------+
| HOST |   DOMAIN   |  FEATURE   |        DATE         |   CORE   |    DB    | ACTIVE_VISITOR |
+------+------------+------------+---------------------+----------+----------+----------------+
| CS   | Apple.com  | Dashboard  | 2013-10-22          | 425      | 1906     | 4744           |
| CS   | Apple.com  | Dashboard  | 2013-10-22          | 471      | 875      | 9533           |
+------+------------+------------+---------------------+----------+----------+----------------+

0: jdbc:phoenix:node35:2224> explain select count(*) from PERFORMANCE_1000000;
+------------+
|    PLAN    |
+------------+
| CLIENT PARALLEL 27-WAY FULL SCAN OVER PERFORMANCE_1000000 |
|     SERVER AGGREGATE INTO SINGLE ROW |
+------------+

0: jdbc:phoenix:node35:2224> explain select * from PERFORMANCE_1000000 limit 2;
+------------+
|    PLAN    |
+------------+
| CLIENT PARALLEL 27-WAY FULL SCAN OVER PERFORMANCE_1000000 |
|     SERVER FILTER BY PageFilter 2 |
| CLIENT 2 ROW LIMIT |
+------------+

 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


public class UsePhoenix {

  public static void main(String[] args) {

    try {
      // Register
      Class.forName("com.salesforce.phoenix.jdbc.PhoenixDriver");
      // Address
      String DBConnectionString = "jdbc:phoenix:10.232.98.35:2224";
      Connection connection = DriverManager.getConnection(DBConnectionString);

      Statement statement = connection.createStatement();
      ResultSet rs = statement
          .executeQuery("select count( *) from PERFORMANCE_1000000");
      rs.next();
      System.out.println("Count " + rs.getLong(1));

      connection.close();
    } catch (Exception e) {
      e.printStackTrace();
    }

  }

}

 

 

./psql.sh node35:2224 count.sql

./sqlline.sh node35:2224 count.sql

 

 http://www.slideshare.net/Hadoop_Summit/taylor-june27-230pmhall1v2?from_search=6

 

 

phoenix使用的元数据都放在一张hbase表(SYSTEM.TABLE )里面,建表的时候可以直接映射到已有的HBase表,这样子数据不需要迁移。

见 https://github.com/forcedotcom/phoenix/wiki

Mapping to an Existing HBase Table

 

如下操作先创建一张hbase表

create 't2', {NAME => 'f1', VERSIONS => 5}

put 't2', "row1", 'f1:q', "aaa"
put 't2', "row2", 'f1:q', "bbb"
put 't2', "row3", 'f1:q', "ccc"

 

在phoenix建一张同样的表
./sqlline.sh localhost

CREATE TABLE IF NOT EXISTS "t2" (
     row VARCHAR NOT NULL,
     "f1"."q" VARCHAR
     CONSTRAINT PK PRIMARY KEY (row)
);

t2 f1 q需要用双引号括起来,原因主要是大小写的问题,参考phoenix的wiki  https://github.com/forcedotcom/phoenix/wiki
注意在这里,phoenix会修改table的Descriptor,然后添加coprocessor,所以会先disable,在modify,最后enable表。

0: jdbc:phoenix:localhost> CREATE TABLE IF NOT EXISTS "t2" (
. . . . . . . . . . . . .>      row VARCHAR NOT NULL,
. . . . . . . . . . . . .>      "f1"."q" VARCHAR
. . . . . . . . . . . . .>      CONSTRAINT PK PRIMARY KEY (row)
. . . . . . . . . . . . .> );


0: jdbc:phoenix:localhost> select * from "t2";
+------------+------------+
|    ROW     |     q      |
+------------+------------+
| row1       | aaa        |
| row2       | bbb        |
| row3       | ccc        |
+------------+------------+
0: jdbc:phoenix:localhost> SELECT COUNT(1) FROM "t2";
+----------+
| COUNT(1) |
+----------+
| 3        |
+----------+

 

't2', {METHOD => 'table_att', coprocessor$1 => '|com.salesforce.phoenix.coprocessor.ScanRegionObserver|1|', coprocessor$2 => '|com.salesforce.phoenix.coprocessor.UngroupedAggregateRegionObserver|1|', coprocessor$3 => '|com.salesforce.phoenix.coprocessor.GroupedAggregateRegionObserver|1|', coprocessor$4 => '|com.salesforce.phoenix.join.HashJoiningRegionObserver|1|'}, {NAME => 'f1', VERSIONS => '5', KEEP_DELETED_CELLS => 'true'}

 

'SYSTEM.TABLE', {METHOD => 'table_att', coprocessor$1 => '|com.salesforce.phoenix.coprocessor.ScanRegionObserver|1|', coprocessor$2 => '|com.salesforce.phoenix.coprocessor.UngroupedAggregateRegionObserver|1|', coprocessor$3 => '|com.salesforce.phoenix.coprocessor.GroupedAggregateRegionObserver|1|', coprocessor$4 => '|com.salesforce.phoenix.join.HashJoiningRegionObserver|1|', coprocessor$5 => '|com.salesforce.phoenix.coprocessor.MetaDataEndpointImpl|1|', coprocessor$6 => '|com.salesforce.phoenix.coprocessor.MetaDataRegionObserver|2|', CONFIG => {'SPLIT_POLICY' => 'com.salesforce.phoenix.schema.MetaDataSplitPolicy', 'UpgradeTo20' => 'true'}}, {NAME => '_0', DATA_BLOCK_ENCODING => 'FAST_DIFF', VERSIONS => '1000', KEEP_DELETED_CELLS => 'true'}

 

分享到:
评论

相关推荐

    Phoneix嵌入式软件包

    Phoneix嵌入式软件包: PhoenixCard_V310_20130618.zip PhoenixSuit_CN_V1.0.6.zip PhoneixUSBPro_V_4_0_0__2014-09-12CN.zip

    spark环境安装(Hadoop HA+Hbase+phoneix+kafka+flume+zookeeper+spark+scala)

    ### Spark集群环境安装详解 #### 一、项目背景与目标 本项目旨在搭建一套完整的Spark集群环境,包括Hadoop HA(高可用)、HBase、Phoenix、Kafka、Flume、Zookeeper以及Scala等多个组件的集成。...

    PhoneixUSBPro-CN.msi

    "Phoneix"可能是指开发此工具的公司或团队,他们专注于USB设备的管理和更新解决方案。他们的产品可能广泛应用于硬件开发、物联网(IoT)项目、教育领域以及工业自动化等。 5. **PhoneixUSBPro_CN**: "CN"代表...

    PHOENIX BIOS 4.0 启动自检代码

    **PHOENIX BIOS 4.0 启动自检代码详解** BIOS(基本输入输出系统)是计算机硬件和操作系统之间的一个关键组件,负责在启动过程中执行一系列自检(POST,Power-On Self Test),确保所有硬件设备正常工作。...

    Hbase之地震数据分析系统

    创新点:使用Phoneix工具对非关系型数据库进行数据储存与查询 技术路线: 1、数据储存:Hbase 2、数据分析:Phoneix 3、数据管理:SpringBoot+MyBaties+JSP+Layui 4、数据可视化:SpringBoot+echart可视化

    Flink Phoenix connector依赖包

    flink sql读写phoenix所使用到的连接器依赖包: flink-sql-connector-phoenix-1.14-1.0.jar 使用示例: create table tab2( ID STRING, NAME STRING, PRIMARY KEY (ID) NOT ENFORCED )WITH( ...

    基于Java的Phoenix开源监控平台设计源码

    本项目是基于Java的Phoenix开源监控平台设计源码,共有1306个文件,包括815个Java文件、75个GIF图像文件等。...在发现异常时,Phoenix能够实时推送告警信息,并提供可视化系统进行配置、管理和查看。...

    phoenix-4.8.0-cdh5.8.0.tar.gz

    “phoenix phoneix-hbase1.2”标签表明此压缩包适用于Phoenix与HBase 1.2版本的集成,意味着可能需要关注兼容性问题,确保所有组件版本匹配。 总的来说,通过“phoenix-4.8.0-cdh5.8.0.tar.gz”压缩包,我们可以...

    Programming Phoenix Productive Reliable Fast epub 0分

    Programming Phoenix Productive Reliable Fast 英文epub

    Phoenix安装文档

    Phoenix是一个HBase的开源SQL引擎。你可以使用标准的JDBC API代替HBase客户端API来创建表,插入数据,查询你的HBase数据。 Phoenix是构建在HBase之上的SQL引擎。你也许会存在“Phoenix是否会降低HBase的效率?...

    Phoenix BIOS Editor 2.0.18.0.rar

    《Phoenix BIOS Editor 2.0.18.0:深入解析与应用》 Phoenix BIOS Editor 2.0.18.0是一款强大的BIOS编辑工具,由知名公司Phoenix Technologies开发,专为高级用户和系统管理员设计,用于自定义和优化计算机的启动...

    cdh6.3.2 集成 Phoenix

    在大数据处理领域,CDH(Cloudera Distribution Including Apache Hadoop)是一款广泛使用的开源大数据平台,它包含了Hadoop生态系统中的多个组件,如HDFS、YARN、MapReduce、Hive等。而Phoenix是一个针对HBase的SQL...

    Phoenix BIOS Editor Pro v2.2.1.3 By Tidosho

    Phoenix BIOS Editor Pro v2.2.1.3 By Tidosho 最新版本.国外大神破解.无广告.无弹窗.已注册.把dat复制到主程序安装目录下即可.

    CDH5.4.x phoenix parcels (2)

    CLABS_PHOENIX-4.3.0-1.clabs_phoenix1.0.0.p0.78-el6.parcel.sha1 manifest.json 对应hbase版本1.0 分割成5份

    CDH5.4.x phoenix parcels (4)

    CLABS_PHOENIX-4.3.0-1.clabs_phoenix1.0.0.p0.78-el6.parcel.sha1 manifest.json 对应hbase版本1.0 分割成5份

    Phoenix Suit v1.0.6全志A20芯片机顶盒智能电视系统线刷工具简体中文版

    《全志A20芯片机顶盒智能电视系统线刷工具——Phoenix Suit v1.0.6简体中文版详解》 在智能设备领域,尤其是针对机顶盒和智能电视等设备,系统的更新与维护是至关重要的。"Phoenix Suit v1.0.6全志A20芯片机顶盒...

    远程多媒体交互环境配置文档.docx

    - **卡农母头对Phoneix头**:用于特定设备间的连接,如转换盒。 3. **关键连接注意事项**: - **非平衡与平衡信号**:计算机的输入输出是非平衡信号,需要通过BI100转换为平衡信号,以减少噪声。 - **声道顺序**...

    phoenix-client-hbase-2.2-5.1.2.jar

    phoenix-client-hbase-2.2-5.1.2.jar

    让你的电脑速度更快.pdf

    如果是Phoneix BIOS,进入Boot选项,将HardDrive调整至最前。这样能避免开机时无谓的光驱读取,提高启动速度。 其次,启用Quick Boot功能,可以在BIOS的Advanced BIOS Features下将其设为Enabled。这会使得BIOS在...

Global site tag (gtag.js) - Google Analytics