phoenix


   phoenix put the SQL into noSql

  phoenix是hbase之上的sql查询层。



Phoenix JDBC URL syntax?

  Thick Driver

    jdbc:phoenix:[comma-separated ZooKeeper Quorum [:port [:hbase root znode [:kerberos_principal [:path to kerberos keytab] ] ] ]

   jdbc:phoenix:zookeeper1.domain,zookeeper2.domain,zookeeper3.domain:2181:/hbase-1:phoenix@EXAMPLE.COM:/etc/security/keytabs/phoenix.keytab

  Thin Driver

        jdbc:phoenix:thin:[key=value[;key=value...]]

   jdbc:phoenix:thin:url=http://queryserver.domain:8765;serialization=PROTOBUF;authentication=SPENGO;principal=phoenix@EXAMPLE.COM;keytab=/etc/security/keytabs/phoenix.keytab



bulk load in Phoenix


Sql 导入csv格式数据(单线程)

   Create table using psql $ psql.py [zookeeper] ../examples/web_stat.sql

   Upsert CSV bulk data $ psql.py [zookeeper] ../examples/web_stat.csv


Mr 导入csv和json格式数据   

   hadoop jar phoenix-<version>-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool --table EXAMPLE --input /data/example.csv

  hadoop jar phoenix-<version>-client.jar org.apache.phoenix.mapreduce.JsonBulkLoadTool --table EXAMPLE --input /data/example.json


optimizing Phoenix

   Use Salting to increase read/write performance

        CREATE TABLE TEST (HOST VARCHAR NOT NULL PRIMARY KEY, DESCRIPTION VARCHAR) SALT_BUCKETS=16

  Per-split table Salting

        CREATE TABLE TEST (HOST VARCHAR NOT NULL PRIMARY KEY, DESCRIPTION VARCHAR) SPLIT ON ('CS','EU','NA')

  Use multiple column families

    Use compression On disk compression improves performance on large tables

           CREATE TABLE TEST (HOST VARCHAR NOT NULL PRIMARY KEY, DESCRIPTION VARCHAR) COMPRESSION='GZ'

 

       

   Createindexes See faq.html#/How_do_I_create_Secondary_Index_on_a_table


Data Types

Index

INTEGER Type

UNSIGNED_INT Type

BIGINT Type

UNSIGNED_LONG Type

TINYINT Type

UNSIGNED_TINYINT Type

SMALLINT Type

UNSIGNED_SMALLINT Type

FLOAT Type

UNSIGNED_FLOAT Type

DOUBLE Type

UNSIGNED_DOUBLE Type

DECIMAL Type

BOOLEAN Type

TIME Type

DATE Type

TIMESTAMP Type

UNSIGNED_TIME Type

UNSIGNED_DATE Type

UNSIGNED_TIMESTAMP Type

VARCHAR Type

CHAR Type

BINARY Type

VARBINARY Type

ARRAY




Multi-Tenancy 

  multi-tenant tables

   tenant-specific connections 

SQL Support

Commands

SELECT

UPSERT VALUES

UPSERT SELECT

DELETE

DECLARE CURSOR

OPEN CURSOR

FETCH NEXT

CLOSE

CREATE TABLE

DROP TABLE

CREATE FUNCTION

DROP FUNCTION

CREATE VIEW

DROP VIEW

CREATE SEQUENCE

DROP SEQUENCE

ALTER

CREATE INDEX


DROP INDEX

ALTER INDEX

EXPLAIN

UPDATE STATISTICS

CREATE SCHEMA

USE

DROP SCHEMA

Other Grammar

Constraint

Options

Hint

Scan Hint

Cache Hint

Index Hint

Small Hint

Seek To Column Hint

Join Hint

Serial Hint

Column Def

Table Ref

Sequence Ref

Column Ref

Select Expression

Select Statement

Split Point

Table Spec

Aliased Table Ref

Join Type

Func Argument

Class Name

Jar Path

Order

Expression

And Condition

Boolean Condition

Condition

RHS Operand

Operand

Summand

Factor

Term

Array Constructor

Sequence

Cast

Row Value Constructor

Bind Parameter

Value

Case

Case When

Name

Quoted Name

Alias

Null

Data Type

SQL Data Type

HBase Data Type

String

Boolean

Numeric

Int

Long

Decimal

Number

Comments




Transactions


schema










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值