因为之前公司项目里已经导入了很多数据,所以需要在客户端以及服务端开启phoenix的映射功能: ?...因为是关联表,所以要进行视图映射,而不是直接去创建表,因为这样删除你创建的表,hbase的表也会受损,所以用视图是一个很好的方法,建表语句如下: create view "data"."...hydrogen_factory_data";//删除语句 data是已经存在的表的命名空间,hydrogen_factory_data带引号是因为之前创建的表是小写的,hydrogen_factory_data...必须和你建的表名字一样,否则映射不了,“FAC”."...已经和phoenix关联上了。
但是,Phoenix的抽象尚未完成,例如,为了实现访问控制,您需要在包含Phoenix数据的基础HBase表上设置ACL。 ? 03 是否有Phoenix JDBC服务器的大小调整准则?...您可以使用HBase授权配置授权。 05 我可以在Phoenix表中看到各个单元的时间戳吗?这是常用的东西吗? 您可以将HBase的本机行时间戳映射到Phoenix列。...有关更多信息,请参见https://phoenix.apache.org/rowtimestamp.html 06 如果Phoenix索引是异步构建的,并且在索引编制过程中将数据添加到表中怎么办?...有关更多信息,请参见https://phoenix.apache.org/bulk_dataload.html 。 10 我可以使用标准HBase API访问Phoenix创建的表吗?...数据是由Phoenix编码的,因此您必须对数据进行解码才能读取。直接写入HBase表会导致Phoenix损坏。 11 我可以在现有的HBase表上映射Phoenix表吗?
您可以使用 HBase 授权配置授权。 我可以在 Phoenix 表中看到单个单元格的时间戳吗?这是常用的东西吗? 您可以将 HBase 的本机行时间戳映射到 Phoenix 列。...有关更多信息,请参阅https://phoenix.apache.org/bulk_dataload.html。 我可以使用标准 HBase API 访问 Phoenix 创建的表吗?...数据是由 Phoenix 编码的,因此您必须对数据进行解码才能读取。直接写入 HBase 表会导致 Phoenix 损坏。 我可以将 Phoenix 表映射到现有的 HBase 表上吗?.../examples/web_stat.csv 如何将 Phoenix 表映射到现有的 HBase 表?...您可以通过 CREATE TABLE/CREATE VIEW DDL 语句在预先存在的 HBase 表上创建 Phoenix 表或视图。在这两种情况下,我们将保留 HBase 元数据原样。
特点 将 SQl 查询编译为 HBase 扫描 确定扫描 Rowkey 的最佳开始和结束位置 扫描并行执行 将 where 子句推送到服务器端的过滤器 通过协处理器进行聚合操作 完美支持 HBase 二级索引创建...DML命令以及通过DDL命令创建和操作表和版本化增量更改。...数据存储 Phoenix 将 HBase 的数据模型映射到关系型世界 ?...5. hbase和phoenix的对应关系 hbase phoenix namespace database(库) table table(表) column family cf:cq column quliafier...下载 Phoenix(博主已经准备好了) http://archive.apache.org/dist/phoenix/apache-phoenix-4.14.2-HBase-1.3/ ?
这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(int)方法。...quit 表的映射 默认情况下: Phoenix中创建的表在HBase中是可以看到的。 直接在HBase中创建的表,通过Phoenix是查看不到的。...1)表的关系 如果要在Phoenix中操作直接在HBase中创建的表,则需要在Phoenix中进行表的映射。 映射方式有两种: 视图映射 表映射。...address" varchar); 删除视图 drop view "test"; 4)表映射 使用Apache Phoenix创建对HBase的表映射,有两种方法: HBase中不存在表时,可以直接使用...create table指令创建需要的表,系统将会自动在Phoenix和HBase中创建同名的表,并会根据指令内的参数对表结构进行初始化。
一 安装部署 1, 下载 http://archive.apache.org/dist/phoenix/ 本文下载的是apache-phoenix-4.12.0-HBase-1.2-bin.tar.gz...表 针对预先存在的HBase表,可以通过CREATE TABLE / CREATE VIEW DDL语句创建一个Phoenix表或视图。...映射hbase表到phoenix: 比如,在hbase上创建表t1,然后映射到phoenix上,分两步: 1, 创建hbase表 create 't1', {NAME => 'f1', VERSIONS...VARCHAR) Hbase表中插入一条数据,phoenix表中查询 put 't1','1001','f1:VAL','lisi' 同时创建hbase和phoenix表: 也可以直接使用cteate...table同时创建phoenix表和hbase表 CREATE TABLE t1(pk VARCHAR PRIMARY KEY,val VARCHAR) 推荐阅读: 1,HBase原理和设计 2,干货
:node1,node2,node3> 默认情况下,直接在 HBase 中创建的表,通过 Phoenix 是查看不到的。...如上一篇在 hbase shell 中创建的 test 表,这里没有显示。如果要在 Phoenix 中操作直接在 HBase 中创建的表,则需要在 Phoenix 中进行表的映射。...quit Closing: org.apache.phoenix.jdbc.PhoenixConnection [root@vvml-yz-hbase-test~]# 表映射方式时,数据更新是对源表的操作...如果只做查询,强烈建议使用视图方式映射,删除视图不影响 HBase 源数据。Phoenix 4.10 版本后,对列映射做了优化,采用一套新的机制,不再基于列名方式映射到 HBase。...参考: Apache Phoenix 映射已存在 HBase 表,查询不到数据 https://phoenix.apache.org/installation.html
一、简介 1、Phoenix定义 1)官网地址:http://phoenix.apache.org/ Phoenix是HBase的开源SQL皮肤。...可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据。 优点:使用简单,直接能写sql。 缺点:效率没有自己设计rowKey再使用API高,性能较差。...HBase 的数据模型映射到关系型模型中。...中建表,会在HBase中创建一张对应的表。...2、全局索引(global index) Global Index是默认的索引格式,创建全局索引时,会在HBase中建立一张新表。
Apache Phoenix的基本入门操作 一、Phoenix的快速入门 1、需求 本次的小DEMO,我们沿用之前的订单数据集。我们将使用Phoenix来创建表,并进行数据增删改查操作。...2、创建表语法 在Phoenix中,我们可以使用类似于MySQL DDL的方式快速创建表。...的Web UI,我们可以看到Phoenix帮助我们自动在HBase中创建了一张名为 ORDER_DTL 的表格,可以看到里面添加了很多的协处理器。..., 主键字段, 不能带列族 二、Apache Phoenix的基本使用 1、查看所有的表 格式: !...它的功能为insert + update,与HBase中的put相对应。如果不存在则插入,否则更新。列表是可选的,如果不存在,值将按模式中声明的顺序映射到列。这些值必须计算为常量。
Apache Phoenix的视图操作 一、应用场景 因为我们之前已经创建了 MOMO_CHAT:MSG 表,而且数据添加的方式都是以PUT方式原生API来添加的。...故此时,我们不再需要再使用Phoenix创建新的表,而是使用Phoenix中的视图,通过视图来建立与HBase表之间的映射,从而实现数据快速查询。...二、视图介绍 我们可以在现有的HBase或Phoenix表上创建一个视图。表、列蔟和列名必须与现有元数据完全匹配,否则会出现异常。当创建视图后,就可以使用SQL查询视图,和操作Table一样。...... ) 考虑以下几个问题: 视图如何映射到HBase的表?...视图的名字必须是:命名空间.表名 视图中的列如何映射到HBase的列蔟和列? 列名必须是:列蔟.列名 视图中的类如何映射到HBase的ROWKEY?
] 十、全局索引设计实践 [Phoenix] 十一、查询计划详解 [Phoenix] 十二、数据迁移 一、快速入门 Phoenix作为应用层和HBASE之间的中间件,以下特性使它在大数据量的简单查询场景有着独有的优势...这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(int)方法。...这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(long)方法。...这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(long)方法。...//创建异步索引 CREATE INDEX ASYNC_IDX ON DB.TEST (COL1) ASYNC //build 索引数据 ${HBASE_HOME}/bin/hbase org.apache.phoenix.mapreduce.index.IndexTool
Apache Phoenix 是 HBase 的开源 SQL 皮肤,可以使用标准的JDBC 的APIs去代替常规的HBase 客户端的APIs去创建表,插入数据和查询HBase数据。...安装 下载解压apache-phoenix-5.0.0-HBase-2.0 添加phoenix-5.0.0-HBase-2.0-server.jar、phoenix-core-5.0.0-HBase-2.0....jar到$HBASE_HOME/lib下 重启HBase $HBASE_HOME/bin/stop-hbase.sh && $HBASE_HOME/bin/start-hbase.sh 添加Phoenix...tables 查看所有的表 [05pnsdreiu.png] !columns查看表的所有的列信息 [c6fdm2k8gm.png] !...columns 查看指定表的列信息 [179s785bmw.png] help 查看sqlline的帮助信息 [dbjqzbdyn7.png]
测试环境: 1.RedHat7.4 2.CDH5.16.2 3.Phoenix4.14.1 4.集群已启用Kerberos 2 什么是Apache Phoenix 首先Phoenix是HBase之上的SQL...它可以让你执行所有的CRUD和DDL操作,比如创建一张表,插入数据以及查询数据。...当Phoenix接收到SQL查询后,它会在本地编译成HBase的API,然后推到集群进行分布式的查询或计算。它自动创建了一个元数据库用来存储HBase的表的元数据信息。...它可以让你像传统数据库表的方式创建和管理HBase中的表,同时Phoenix也支持复合主键。...3.在hbase shell中进行检查 ? 可以发现之前通过Phoenix创建的hbase_test表存在,并且插入的3条数据也显示正常。 4.Delete测试。
3.Apache Phoenix是什么 ---- 首先Phoenix是HBase之上的SQL工具,至于HBase是什么,我就不介绍了,你若不懂,就不需要往下继续看了。...它可以让你执行所有的CRUD和DDL操作,比如创建一张表,插入数据以及查询数据。...当Phoenix接收到SQL查询后,它会在本地编译成HBase的API,然后推到集群进行分布式的查询或计算。它自动创建了一个元数据库用来存储HBase的表的元数据信息。...4.使用场景 ---- Phoenix非常适合HBase的随机访问,它的二级索引特性同时可以让你实现非主键查询的快速返回,而不需要进行全表扫描。...它可以让你像传统数据库表的方式创建和管理HBase中的表,同时Phoenix也支持复合主键。
Phoenix是基于HBase的,而Phoenix的索引其实是HBase的二级索引,当Phoenix的索引处于disable状态时,整个Phoenix表是无法正常使用的,要将索引修复为enable...状态,往往需要重建索引,这对应一些大表来说,往往需要花费几个小时是时间,那么这几个小时,系统基本上就处于不可用状态,这对应现网系统来说,往往是不可接受的。...我们在调测功能时,突然发现Phoenix表不能使用,查看日志,发现体现如下异常: [RpcServer.default.FPBQ.Fifo.handler=112,queue=8,port=6005]...index PhoenixIndexFailurePolicy:handleFailure failed java.io.IOException: org.apache.hadoop.hbase.DoNotRetryIOException...用下面语句检查,发现表索引失效: select TABLE_NAME,DATA_TABLE_NAME,INDEX_TYPE,INDEX_STATE,INDEX_DISABLE_TIMESTAMP from
前言 Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询。...quit 表的映射 1)表的关系 默认情况下,直接在HBase中创建的表,通过Phoenix是查看不到的。...如果要在Phoenix中操作直接在HBase中创建的表,则需要在Phoenix中进行表的映射。 映射方式有两种: 视图映射 表映射。...address" varchar); 删除视图 drop view "test"; 4)表映射 使用Apache Phoenix创建对HBase的表映射,有两种方法: HBase中不存在表时,可以直接使用...create table指令创建需要的表,系统将会自动在Phoenix和HBase中创建同名的表,并会根据指令内的参数对表结构进行初始化。
但是,对于许多客户来说,使用HBase其实很抗拒,因为: 1.HBase的数据模型是一张大宽表,支持上百万个column,但却不支持join 2.使用Java APIs而不是ANSI SQL 他们要求能够使用类似于...在CDH中从安全和治理角度,Phoenix使用HBase ACLs来实现Phoenix表的基于角色访问控制。同时Cloudera Navigatior也会捕获Phoenix的审计信息。...已有的HDP客户其实一直可以享有Apache Phoenix的技术支持,使用HDP的HBase的用户几乎有一半正在使用Phoenix,同时Phoenix在HBase的用户社区也很受欢迎。...Phoenix,GeoMesa以及JanusGraph和OpenTSDB都可以共存于一个HBase集群中。 Q) 如何创建和使用索引?...与RDBMS一样,HBase的二级索引其实就是使用另一张索引表来实现的,这张表包含索引和源数据的链接。如果你对所有column都进行索引,你的维护成本会大大上升。
http://phoenix.apache.org/download.html 二、安装 1、上传安装包到Linux系统,并解压 cd /export/software tar -xvzf apache-phoenix.../server/apache-phoenix-5.0.0-HBase-2.0-bin/phoenix-*.jar /export/server/hbase-2.1.0/lib/ # 进入到hbase...拷贝到phoenix的bin目录 cp /export/server/hbase-2.1.0/conf/hbase-site.xml /export/server/apache-phoenix-5.0.0...cd /export/server/apache-phoenix-5.0.0-HBase-2.0-bin/ bin/sqlline.py node1:2181 # 输入!...table查看Phoenix中的表 !table 7、查看HBase的Web UI,可以看到Phoenix在system命名空间下创建了一些表,而且该系统表加载了大量的协处理器。
hbase/_HOST@HADOOP.COM 在项目工程目录下创建conf目录,并将krb5.conf和keytab文件拷贝到该目录下 hbase-site.xml文件拷贝到Maven工程下的resources...目录下 在工程下创建测试类PhoenixKrbTest.java,代码如下: package com.apress.phoenix.chapter3; import org.apache.hadoop.conf.Configuration...创建表、插入数据、索引、查询数据 */ public void operTable() { Connection conn = getConn();...tables 如上所示,testjdbc表已被创建。...查看testjdbc表中数据 select * from testjdbc limit 10; 如上所示,与IDEA中查询的数据一致 HBase shell验证 登录HBase shell,查看当前已存在的表
使用 Phoenix 创建 HBase 二级索引 Phoenix 索引类型介绍 Phoenix 介绍 Phoenix 是构建在 HBase 之上的高效的 SQL 引擎,同时具备 OLTP...中创建 HBase 表的二级索引。...使用 Phoenix 创建 HBase 二级索引 映射已存在的 HBase 表 1....这里我们创建的是视图,相当于外部表,也可以 create table 创建表,视图的特点是删除时不会删除 HBase 表,但是视图创建的二级索引不会自动更新,如果要实时更新的话,只能使用 create...HBase集成Phoenix,构建Phoenix view和table的区别 2. 如何使用Phoenix在CDH的HBase中创建二级索引 3.
领取专属 10元无门槛券
手把手带您无忧上云