![](https://img-blog.csdnimg.cn/2020091821433877.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Phoenix
Phoenix
小哇666
专注web/大数据
展开
-
phoenix 全局索引设计实践
概述全局索引是Phoenix的重要特性,合理的使用二级索引能降低查询延时,让集群资源得以充分利用。 本文将讲述如何高效的设计和使用索引。全局索引说明全局索引的根本是通过单独的HBase表来存储数据表的索引数据。我们通过如下示例看索引数据和主表数据的关系。-- 创建数据表CREATE TABLE DATA_TABLE( A VARCHAR PRIMARY KEY, B VARCHAR, C INTEGER, D INTEGER); -- 创建索引CREATE IND转载 2020-10-07 11:28:23 · 152 阅读 · 0 评论 -
phoenix全局索引和本地索引 概述,使用场景,区别等详解
索引类型phoenix的索引大致分为两类global index和local index,好像和星环有点类似,其实这是hbase二级索引解决方案里面广为人知的两种方案,侧重点不同,使用场景也不一样。global index,global是默认的索引格式。官方文档翻译过来的:Global indexing适用于多读少写的业务场景。使用Global indexing的话在写数据的时候会消耗大量开销,因为所有对数据表的更新操作(DELETE, UPSERT VALUES and UPSERT SELECT原创 2020-10-07 11:18:39 · 3242 阅读 · 2 评论 -
Phoenix使用SALT_BUCKETS创建预分区表
Salting能够通过预分区(pre-splitting)数据到多个region中来显著提升读写性能。Salting 翻译成中文是加盐的意思,本质是在hbase中,rowkey的byte数组的第一个字节位置设定一个系统生成的byte值,这个byte值是由主键生成rowkey的byte数组做一个哈希算法,计算得来的。Salting之后可以把数据分布到不同的region上,这样有利于phoenix并发的读写操作。关于SaltedTable的说明在 http://phoenix.apache.org/sal原创 2020-10-06 13:15:41 · 1701 阅读 · 0 评论 -
HBase 热点问题 和 phoenix 预分区表,盐表的运用
HBase 热点问题刚创建 HBase 表的时候默认只有一个 Region 由一个 Region Server 管理,在数据量达到一定值的时候会触发分裂 split,这样会不断的分裂出更多的 Region,由不同的 Region Server 管理,每个 Region 管理的是一段连续的 row key,由 start row key 和 end row key 表示,这样会出现两个问题无法充分利用分布式并发处理的优势,必须等待 Region 自动分裂成多个,这个过程可能会很久 由于每个 Regi原创 2020-10-06 14:32:09 · 485 阅读 · 0 评论 -
phoenix 创建 Pre-split(预分区)表
在建phoenix表时,可以精确的指定要根据什么值来做预分区,比如:create table testlocal(id integer primary key, name varchar,age integer,address varchar) split on (1, 2, 3);UPSERT INTO testlocal (id,name,age,address) values (1,'zhangshan',12,'广东');UPSERT INTO testlocal (id,na原创 2020-10-06 14:13:36 · 1684 阅读 · 0 评论 -
java-jdbc代码 增删改查 phoenix
环境问题,maven依赖问题,可查看博文https://blog.csdn.net/qq_41712271/article/details/108933385jdbc工具类package com.huawei.phoenix_api.config;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class PhoenixUtil { public转载 2020-10-06 00:05:42 · 481 阅读 · 0 评论 -
java连接Phoenix,环境问题,jar包依赖等遇到的坑
1 jar包问题phoenix与hbase版本对应http://phoenix.apache.org/download.htmlhttp://archive.apache.org/dist/phoenix/如果hbase和phoenix刚好有相应的pom依赖,直接使用即可,如下<dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-core</原创 2020-10-05 22:07:54 · 2284 阅读 · 0 评论 -
CDH6.3.1安装Phoenix服务
一、下载parcel包 下载目录为:https://archive.cloudera.com/phoenix/6.2.0/parcels/ 下载如上图所示的三个文件,这里多说一句,这里需要根据自己的系统选择合适的文件,小编的系统是RedHat7所以下载el7。 同时,需要下载与之对应的jar包文件:https://archive.cloudera.com/phoenix/6.2.0/csd/PHOENIX-1.0.jar二、上传parcel...转载 2020-10-05 12:18:27 · 943 阅读 · 1 评论 -
phoenix 映射 Hbase中已经存在的表 和 注意事项
默认情况下,直接在hbase中创建的表,通过phoenix是查看不到的,所以需要建立表的映射例如先在Hbase中创建表,并put数据create 'ns1:chenjibiao','course','address'下面开始用phoenix来映射Hbase中已经存在的表注意1 yuwen,shuxue,english 在hbase中传入的是数字,但这里用的是varchar,否则没有数据 2 主键可以任意指定字符串,这里用的empid 3 要加column_encoded...原创 2020-09-24 16:37:46 · 2163 阅读 · 1 评论 -
phoenix 基本命令使用,创建库,创建表,增删改记录等
登陆phoenix登录phoenix的shell客户端,进入phoenix的目录,2181是zookeeper的端口号./bin/sqlline.py kncloud02,kncloud03,kncloud04:2181在phoenix中,默认情况下,库名,表名,字段名等会自动转换为大写,若要小写,使用双引号,如"ns1"。注意:特别注意引号,总之很变态注意 以下所有操作,前提都是Hbase中不存在库,表,然后能过phoenix以sql的方式来创建hbase中的库,表,记录等,至于 Hba原创 2020-09-24 14:36:57 · 11118 阅读 · 0 评论 -
开启phoenix命名空间的自动映射,否则不能在phoenix中创建数据库(schema或namespace)
作用,正如标题所说,否则就不能通过phoenix创建数据库了,也就是 HBase中的namespace开启步骤1修改HBase(集群)安装目录中的hbase-site.xml文件,添加如下两个属性<property> <name>phoenix.schema.isNamespaceMappingEnabled</name> <value>true</value></property><..原创 2020-09-18 21:57:03 · 528 阅读 · 0 评论