一、简介 1、Phoenix定义 1)官网地址:http://phoenix.apache.org/ Phoenix是HBase的开源SQL皮肤。...Hadoop101、Hadoop102、Hadoop103的hbase/lib cp /opt/module/phoenix/phoenix-5.0.0-HBase-2.0-server.jar /opt.../module/hbase/lib/ xsync /opt/module/hbase/lib/phoenix-5.0.0-HBase-2.0-server.jar 配置环境变量 vim /etc/profile.d...and metadata updates 重启HBase stop-hbase.sh start-hbase.sh 连接 phoenix /opt/...为了减少数据对磁盘空间的占用,Phoenix默认会对HBase中的列名做编码处理。
前言 HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。...HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。...五、Phoenix介绍 Phoenix 是 HBase 的开源 SQL 中间层,它允许你使用标准 JDBC 的方式来操作 HBase 上的数据。...其次 Phoenix 的性能表现也非常优异,Phoenix 查询引擎会将 SQL 查询转换为一个或多个 HBase Scan,通过并行执行来生成标准的 JDBC 结果集。...同时 Phoenix 还拥有二级索引等 HBase 不具备的特性,因为以上的优点,所以 Phoenix 成为了 HBase 最优秀的 SQL 中间层。 ---- -END-
Phoenix是什么 简单来说,Phoenix 是一个可以让我们通过SQL的方式操作HBase数据库的框架。...HBase是一个NoSQL数据库,shell客户端只支持一些简单的操作,而且看起来容易晕。 例如下面这个图,返回的是一张表的所有数据: ?...Phoenix 支持通过编写JDBC代码来操作HBase,比原生API更方便。...查询表数据: 0: jdbc:phoenix:localhost> select * from WEB_STAT; ? CORE、DB字段是CPU和数据库使用量。...小结 Phoenix 的基础功能就是在 HBase 之上添加了 SQL 层,可以让我们更方便的使用 HBase。
下载安装 首先从 apache 下载 phoenix 包,这里因为我的hbase hbase-1.4.9 版,所以我下载的对应的版本 apache-phoenix-4.14.1-HBase-1.4-bin.tar.gz...下载后解压之 apache-phoenix-4.14.1-HBase-1.4-bin.tar.gz tar zxvf apache-phoenix-4.14.1-HBase-1.4-bin.tar.gz...准备 hbase 为了使用 phoenix,需要将 phoenix 目录下的 phoenix-*。...jar 包复制到 hbase 的 lib 目录下,比如: cp apache-phoenix-4.14.1-HBase-1.4-bin/phoenix-*.jar hbase-1.4.9/lib/ 然后重新系统.../start-hbase.sh 连接phoenix 可以使用下面两种方式连接 方式一:直接连接 cd apache-phoenix-4.14.1-HBase-1.4-bin/bin # 默认连接本地hbase
一、主机规划 继续上一篇,本篇介绍在同一环境中安装 Phoenix,并连接上篇部署的 HBase 集群。...Phoenix 相对于 HBase 来说就是一个支持 SQL 的客户端软件,为能在集群环境中任何节点上都能使用 Phoenix 命令行,在所有节点上都安装。...添加下面两行 export PHOENIX_HOME=/root/phoenix-hbase-2.5-5.1.3-bin/ export PHOENIX_CLASSPATH=$PHOENIX_HOME...将 phoenix-server-hbase-2.5-5.1.3.jar 文件复制到 HBase 的 lib 目录中 cp $PHOENIX_HOME/phoenix-server-hbase-2.5-...如上一篇在 hbase shell 中创建的 test 表,这里没有显示。如果要在 Phoenix 中操作直接在 HBase 中创建的表,则需要在 Phoenix 中进行表的映射。
欢迎您关注《大数据成神之路》 本次分享来源于阿里多模型数据库专家张赟的分享,关于如何使用Phoenix来查询Hbase以及Phoenix的应用场景。 ? ? ? ? ? ? ? ? ? ? ? ?
进行操作,但是对于很对已经习惯了关系型数据库操作的开发来说,有一定的学习成本,如果可以像操作mysql等一样通过sql实现对Hbase的操作,那么很大程度降低了Hbase的使用成本。...Apache Phoenix 组件就完成了这种需求,Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询...Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫描,并编排执行以生成标准的JDBC结果集。...从图中可看出,带有Key过滤的Phoenix耗时最少,不带Key过滤的Phoenix和基于HDFS的Hive性能差不多,直接基于HBase的Hive性能最差。...在这种情况下使用Pheonix,可以在HBase中进行复杂的查询,并且它支持传统数据库(如oracle)中的越来越多的功能,这使更容易将BI查询迁移到HBase的数据库中。
一、Phoenix简介 Phoenix 是 HBase 的开源 SQL 中间层,它允许你使用标准 JDBC 的方式来操作 HBase 上的数据。...同时 Phoenix 还拥有二级索引等 HBase 不具备的特性,因为以上的优点,所以 Phoenix 成为了 HBase 最优秀的 SQL 中间层。...联结查询 (Joins) :http://phoenix.apache.org/joins.html 四、Phoenix Java API 因为 Phoenix 遵循 JDBC 规范,并提供了对应的数据库驱动...PhoenixDriver,这使得采用 Java 语言对其进行操作的时候,就如同对其他关系型数据库一样,下面给出基本的使用示例。...Class.forName("org.apache.phoenix.jdbc.PhoenixDriver"); /* * 指定数据库地址,格式为 jdbc
Apache Phoenix 是 HBase 的 SQL 驱动。Phoenix 使得 HBase 支持通过 JDBC 的方式进行访问,并将你的 SQL 查询转成 HBase 的扫描和相应的动作。...兼容性: Phoenix 2.x - HBase 0.94.x Phoenix 3.x - HBase 0.94.x Phoenix 4.x - HBase 0.98.1+ 1:hbase 0.94.21...下载,根据安装的HBase选择hadoop1或hadoop2 Add the phoenix-[version]-server.jar to the classpath of every HBase region...Phoenix 3.x) 把phoenix-core-3.1.0.jar复制到所有HBase region server的lib目录 Restart all region servers..../phoenix-core-3.1.0.jar linuxidc@linuxidc01:/home/linuxidc/hbase-0.94.21/lib phoenix-core-3.1.0.jar
以下文章来源于大数据技术架构 ,作者大数据技术架构 Phoenix 在 HBase 生态系统中占据了非常重要的地位,本文主要包括以下几方面内容: Phoenix 介绍 CDH HBase 集成 Phoenix...使用 Phoenix 创建 HBase 二级索引 Phoenix 索引类型介绍 Phoenix 介绍 Phoenix 是构建在 HBase 之上的高效的 SQL 引擎,同时具备 OLTP...Phoenix 与 HBase 集成,其最大的特点就是为 HBase 提供了二级索引,后文会重点介绍。下图是 Phoenix 的基本架构: ?...使用 Phoenix 创建 HBase 二级索引 映射已存在的 HBase 表 1....HBase集成Phoenix,构建Phoenix view和table的区别 2. 如何使用Phoenix在CDH的HBase中创建二级索引 3.
完全分布式 HBase 集群的运行依赖于 Zookeeper 和 Hadoop,在前一篇中已经详细介绍了他们的安装部署及运行,参见“基于 HBase & Phoenix 构建实时数仓(1...解压、配置环境 # 解压 tar -zxvf hbase-2.5.7-hadoop3-bin.tar.gz # 编辑 $HBASE_HOME/conf/hbase-env.sh 文件设置 HBase...修改 HBase 配置文件 # 备份原始文件 cp $HBASE_HOME/conf/hbase-site.xml $HBASE_HOME/conf/hbase-site.xml.bak # 编辑 $...HBASE_HOME/conf/hbase-site.xml 文件 vim $HBASE_HOME/conf/hbase-site.xml 配置如下: ...-- 为使用 Phoenix,hbase.client.keyvalue.maxsize 不能设置为 0 --> hbase.client.keyvalue.maxsize
因为之前公司项目里已经导入了很多数据,所以需要在客户端以及服务端开启phoenix的映射功能: ?...因为是关联表,所以要进行视图映射,而不是直接去创建表,因为这样删除你创建的表,hbase的表也会受损,所以用视图是一个很好的方法,建表语句如下: create view "data"."...已经和phoenix关联上了。
截止到2020年12月,Phoenix最高只支持到Hbase2.0版本,并不支持更高的版本。...而我们采用的是腾讯云HBase,使用的版本是2.2.0版本,我们在使用Phoenix-5.0版本时,发现系统报错,无法正常使用。...其实Phoenix-5.0版本已经两年多没有更新了,而Hbase还在不断演进,越来越多的人使用Hbase2.0以上版本,这个问题会越来越突出,我们跟踪发现,只要做些简单处理,Phoenix-5.0就可以支持...Hbase 2.2.0版本,运行非常稳定。...使用过程中,发现后台报错: Caused by: java.lang.VerifyError: class org.apache.phoenix.hbase.index.covered.data.IndexMemStore
安装Phoenix 一、下载 大家可以从官网上下载与HBase版本对应的Phoenix版本。对应到HBase 2.1,应该使用版本「5.0.0-HBase-2.0」。.../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...-HBase-2.0-bin/bin/ 5、重新启动HBase stop-hbase.sh start-hbase.sh 6、启动Phoenix客户端,连接Phoenix Server 注意:第一次启动...Phoenix连接HBase会稍微慢一点。
然而此二级索引又有别于传统关系型数据库的二级索引,本文将详细描述了Phoenix中二级索引功能、用法和原理。...HDFS 在emr或自建集群上访问云HBase集群 hadoop dfs -ls hdfs://emr-cluster/ 三、BULKLOAD PHOENIX表 以EMR访问云HBASE为例。...否则,如果生成在EMR集群还需要走网络发送到云HBASE HDFS上。 七、如何使用自增ID 在传统关系型数据库中设计主键时,自增ID经常被使用。不仅能够保证主键的唯一,同时也能简化业务层实现。...由于Phoenix是HBase上的SQL层,借助HBase特性实现的动态列,避免了传统关系型数据库动态列实现存在的问题。...现在支持 Phoenix 4.12 版本以上的数据导出导出插件,能满足日常从关系型数据库导入到 Phoenix,ODPS 导入到 Phoenix, Phoenix导出CSV文本等需求。 5.
什么是 Phoenix ? Apache Phoenix 是运行在Hbase之上的高性能关系型数据库,通过Phoenix可以像使用jdbc访问关系型数据库一样访问hbase。...Phoenix,操作的表以及数据存储在hbase上。phoenix只需要和hbase进行表关联。然后在用工具进行一些读写操作。 可以把Phoenix 只看成一种代替Hbase语法的工具。...cp phoenix-4.11.0-HBase-1.3-client.jar /home/hadoop/hbase-1.3.1/lib/ cp phoenix-core-4.11.0-HBase-1.3...cp phoenix-4.11.0-HBase-1.3-client.jar /home/hadoop/hbase-1.3.1/lib/ cp phoenix-core-4.11.0-HBase-1.3...6875929.html Contact 作者:鹏磊 出处:http://www.ymq.io Email:admin@souyunku.com 版权归作者所有,转载请注明出处 Wechat:关注公众号,搜云库
Phoenix:数据库管理系统的最佳新特性 今天,Cloudera正式宣布在CDH中支持Apache Phoenix,同时也会集成到未来的Cloudera Data Platform中。...Cloudera的CDH发行版其实一直包含Apache HBase服务,它为希望利用大数据功能的客户的操作型应用程序提供了一个灵活的NoSQL数据库。...如果优化HBase,基于Phoenix的应用程序同样也会受益,从而获得更好的性能。例如Phoenix实现了主键的加盐 - 因此HBase用户不用考虑Rowkey的设计。...已有的HDP客户其实一直可以享有Apache Phoenix的技术支持,使用HDP的HBase的用户几乎有一半正在使用Phoenix,同时Phoenix在HBase的用户社区也很受欢迎。...但是,Phoenix还可以更轻松地利用底层数据进行仪表板和BI应用。 Q) Phoenix的授权机制是什么? Phoenix依赖于HBase的授权机制,对于CDH客户,可以使用HBase ACL。
Cloudera Data Platform 中的运营数据库具有以下组件: Apache Phoenix 提供了一个促进大规模可扩展性的关系模型。...它允许经过身份验证和授权的用户为云供应商访问令牌交换一组凭据或令牌。...CDP 运营数据库数据服务 CDP 运营数据库 (COD) 是由 Apache HBase 和 Apache Phoenix 提供支持的实时自动扩展运营数据库。...尽管 HBase 架构是一个 NoSQL 数据库,但它通过在集群中均匀分布数据来简化维护数据的过程。这使得快速访问和更改 HBase 数据模型中的数据。了解有关Apache HBase 的更多信息。...Apache Phoenix 实施了最佳实践优化,使软件工程师能够开发基于 HBase 的下一代数据驱动应用程序。
Apache Phoenix的视图操作 一、应用场景 因为我们之前已经创建了 MOMO_CHAT:MSG 表,而且数据添加的方式都是以PUT方式原生API来添加的。...故此时,我们不再需要再使用Phoenix创建新的表,而是使用Phoenix中的视图,通过视图来建立与HBase表之间的映射,从而实现数据快速查询。...二、视图介绍 我们可以在现有的HBase或Phoenix表上创建一个视图。表、列蔟和列名必须与现有元数据完全匹配,否则会出现异常。当创建视图后,就可以使用SQL查询视图,和操作Table一样。...... ) 考虑以下几个问题: 视图如何映射到HBase的表?...视图的名字必须是:命名空间.表名 视图中的列如何映射到HBase的列蔟和列? 列名必须是:列蔟.列名 视图中的类如何映射到HBase的ROWKEY?
从 0.94 版本开始, HBase 开始支持二级索引. HBase 索引有多种放方案, 我们今天要做的是使用 Phoenix 给 HBase 添加二级索引. 二....配置 HBase 支持 Phoenix 创建二级索引 需要先给 HBase 配置支持创建二级索引 1....-- phoenix regionserver 配置参数 --> hbase.regionserver.wal.codec ...-- phoenix master 配置参数 --> hbase.master.loadbalancer.class org.apache.phoenix.hbase.index.balancer.IndexLoadBalancer...Phoenix 创建索引 1. Phoenix 索引分类 Phoenix 索引分全局索引和局部索引 1. 全局索引 global index 是默认的索引格式。
领取专属 10元无门槛券
手把手带您无忧上云