`
bupt04406
  • 浏览: 348748 次
  • 性别: 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可视化

    基于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...

    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( ...

    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