HBase引入phoenix

apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz Apache Phoenix是构建在HBase之上的关系型数据库层,作为内嵌的客户端JDBC驱动用以对HBase中的数据进行低延迟访问。Apache Phoenix会将用户编写的sql查询编译为一系列的scan操作,最终产生通用的JDBC结果集返回给客户端。数据表的元数据存储在HBase的表中被会标记版本号,所以进行查询的时候会自动选择正确的schema。直接使用HBase的API,结合协处理器(coprocessor)和自定义的过滤器的话,小范围的查询在毫秒级响应,千万数据的话响应速度为秒级 立即下载

前提:已经部署好的单机hbase2.0

1.下载解压phoenix压缩包(注意对应hbase版本)

$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/phoenix/apache-phoenix-5.0.0-HBase-2.0/bin/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz
$ tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz

2.拷贝phoenix jar包到Hbase中

apache-phoenix-5.0.0-HBase-2.0-bin目录下,将phoenix-5.0.0-HBase-1.2-server.jar拷贝到集群中每个节点( 主节点也要拷贝 )的 hbase 的 lib 目录下

3.配置环境变量

$vi /etc/profile

export  PHOENIX_HOME=/home/dev/hbase/apache-phoenix-5.0.0-HBase-2.0-bin

export PHOENIX_CLASSPATH=$PHOENIX_HOME

export PATH=$PATH:$PHOENIX_HOME/bin

$source /etc/profile

4.重启hbase

5.进入phoenix命令控制台

sqlline.py localhost:2181

查询表,下面的系统表为首次进入phoenix初始化时所建立的phoenix系统表。

 

6.基础操作

入门教程:https://www.cloud.alipay.com/docs/2/53716

快速开始

  1. 创建一个 us_population.sql 文件,用来创建表结构,内容如下
    1. CREATE TABLE IF NOT EXISTS us_population (
    2. state CHAR(2) NOT NULL,
    3. city VARCHAR NOT NULL,
    4. population BIGINT
    5. CONSTRAINT my_pk PRIMARY KEY (state, city));
  2. 准备分析用数据

    数据文件us_population.csv,内容如下

    1. NY,New York,8143197
    2. CA,Los Angeles,3844829
    3. IL,Chicago,2842518
    4. TX,Houston,2016582
    5. PA,Philadelphia,1463281
    6. AZ,Phoenix,1461575
    7. TX,San Antonio,1256509
    8. CA,San Diego,1255540
    9. TX,Dallas,1213825
    10. CA,San Jose,912332
  3. 分析SQL文件,us_population_queries.sql,内容如下
    1. SELECT state as "State",count(city) as "City Count",sum(population) as "Population Sum"
    2. FROM us_population
    3. GROUP BY state
    4. ORDER BY sum(population) DESC;
  4. 执行分析 现在我们执行如下的语句来进行分析
    1.  ./psql.py <your_zookeeper_quorum> us_population.sql us_population.csv us_population_queries.sql
    将其中的ZooKeeper的地址替换成我们的ZooKeeper的地址,类似zk1,zk2,zk3
  5. 结果验证

    成功运行后会看到类似如下的结果 

 API访问Phoenix JDBC

  • 使用Maven构建工程时,依赖如下
  1. <dependencies>
  2.  <dependency>
  3.  <groupId>com.aliyun.phoenix</groupId>
  4.  <artifactId>ali-phoenix-core</artifactId>
  5.  <!-- jdk7 compiled -->
  6.  <version>4.11.0-AliHBase-1.1-0.3</version>
  7.  </dependency>
  8. </dependencies>
  • 测试程序
  •  

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.PreparedStatement;
    import java.sql.Statement;
    /**
    * create table, create index, insert data, select table.
    */
    public class TestPhoenixJDBC {
     public static void main(String[] args) {
     try {
     Connection con =
     DriverManager.getConnection("jdbc:phoenix:n-proxy-pub-zk1, n-proxy-pub-zk2,n-proxy-pub-zk3");
     Statement stmt = con.createStatement();
    stmt.execute("drop table if exists test");
    stmt.execute("create table test (mykey integer not null primary key, mycolumn varchar)");
    stmt.execute("create index test_idx on test(mycolumn)");
    stmt.executeUpdate("upsert into test values (1,'World!')");
    stmt.executeUpdate("upsert into test values (2,'Hello')");
    stmt.executeUpdate("upsert into test values (3,'World!')");
    con.commit();
     PreparedStatement statement = con.prepareStatement("select mykey from test where mycolumn='Hello'");
     ResultSet rset = statement.executeQuery();
     while (rset.next()) {
     System.out.println(rset.getInt(1));
     }
    stmt.close();
    rset.close();
    con.close();
     } catch (SQLException e) {
    e.printStackTrace();
     }
     }
    }
    
    

     

  • 编译执行
  1. javac TestPhoenixJDBC.java
  2. java -cp "../ali-phoenix-<versions>-client.jar:." TestPhoenixJDBC

 

7更多参考阿里云文档

https://yq.aliyun.com/articles/574090

Sqoop通过Phoenix导hbase数据到hive 出现此问题时使用:java.lang.NullPointerException at org.json.JSONObject.(JSONObject.java:144) at org.apache.sqoop.util.SqoopJsonUtil.getJsonStringforMap(SqoopJsonUtil.java:43) at org.apache.sqoop.SqoopOptions.writeProperties(SqoopOptions.java:784) at org.apache.sqoop.mapreduce.JobBase.putSqoopOptionsToConfiguration(JobBase.java:392) at org.apache.sqoop.mapreduce.JobBase.createJob(JobBase.java:378) at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:256) at org.apache.sqoop.manager.SqlManager.importQuery(SqlManager.java:748) at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:515) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:621) at org.apache.sqoop.Sqoop.run(Sqoop.java:147) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243) at org.apache.sqoop.Sqoop.main(Sqoop.java:252) 立即下载

相关推荐

phoenix-hbase-2.2-5.1.2-bin.tar.gz

phoenix-hbase-2.2-5.1.2-bin.tar.gz

hbase-phoenix

phoenix 客户端,

u012581453的专栏 941

R语言实战:5分钟搞定GEO单细胞数据(scRNA-seq)下载与整理(附完整代码)

本文详细介绍了如何使用R语言快速下载和整理GEO单细胞数据(scRNA-seq),提供完整的自动化处理代码。从环境准备、数据获取到文件整理和质量检查,涵盖10X Genomics标准格式及非标准数据的处理技巧,帮助生物信息学研究者高效完成数据预处理工作。

weixin_29054399的博客 604

一个大数据环境下表结构统一导出的工具

本文介绍了一个可以统一导出大数据环境中的多种数据库的表,详细介绍了打包和使用,包括导出 Phoenix、HBase、Hive、Impala、Kudu、ClickHouse、MySQL 的 DDL 的使用示例。

Yore - Home 1485

告别IIS折腾!用.NET8+Kestrel在Windows上5分钟搞定Web API部署

本文介绍了如何使用.NET8和Kestrel在Windows上快速部署Web API,告别繁琐的IIS配置。通过5分钟实战教程,开发者可以轻松实现高性能、跨平台的API服务部署,显著提升开发效率和系统性能。

weixin_42528780的博客 246

5分钟搞定!用Cursor和.NET 9.0快速搭建串口通讯上位机(附VS Code插件配置)

本文分享了如何利用Cursor AI编程助手与.NET 9.0,在5分钟内快速构建一个功能完整的串口通讯上位机程序。通过自然语言描述需求,AI自动生成WinForms界面和核心代码,极大提升了硬件调试工具的定制开发效率。文章详细介绍了环境配置、AI协作编码、功能实现与调试的全过程。

weixin_28366353的博客 276

HBase在大数据集群的安装部署及整合Phoenix

前提:需要保证三台虚拟机hadoop102-104已经部署好基本配置。未完成的可以参考:https://blog.youkuaiyun.com/weixin_73195042/article/details/135886619。

一起交流,一起进步 1146

毫米波与太赫兹:十射线模型建模

Pt=1,只考虑地面和前后两面墙的反射,反射系数为0.7。用matlab设计程序并实现该功能。,总计考虑10条路径,求出接收功率随。

SupermarketX的博客 785

EMR-Hadoop4.9.0引入Phoenix服务查询HBase

Target: 此文目的是为了记录一个临时性的HBase查询需求(需要按照"info:time"过滤出某一天的数据总量),由于Hbase Shell不支持SQL协议查询不变,引入了Phoeinx使用SQL完成此需求。 另外,EMR4.9.0是不原生支持Phoenix服务的,故有此一文。 软件版本: EMR4.9.0(HDFS3.2.1 Yarn3.2.1 Zookeeper3.6.2 HBase2.3.4) Phoenix5.1.0 HBase配置(hbase-site.xml):

csdn_lan的博客 414

杰理JL701N内置flash录音配置教程

本文详细介绍了内置Flash录音功能的配置方法。主要内容包括:1) 基础模式配置(开启音乐/录音模式、Flash录音宏定义);2) 录音参数设置(格式基准值、存储区域定义、容量配置);3) MP3编码特殊处理;4) 下载时的Flash格式化操作;5) 录音开关和播放接口的使用说明。配置过程涉及多个关键文件的修改,并强调存储容量的精确分配。

qq_42014563的博客 597

借助Claude实现Playwright的自动化(MCP Server)

MCP Server自己开发也是可以的,现在也有很多开箱即用的MCP Server,可以在https://github.com/modelcontextprotocol/servers中查找。

Criss@陈磊 4228

Phoenix操作HBase及二者的主要区别

文章目录一、jar包引入二、Phoenix启动并操作HBase1. 查看所有表2.建表3.插值4.查看表数据三、Phoenix和HBase的主要区别 一、jar包引入 将下面的jar包拷贝到Hbase的lib目录 apache-phoenix-4.14.0-cdh5.14.2-bin.tar 安装包路径:https://pan.baidu.com/s/10gV6dXEZFxXasZCvelQ-sQ 提取码:ew0w 下载完成后解压,然后进入到phoenix的bin目录找到需要拷贝的jar文件 我们需要拷贝

qq_38497133的博客 998

AutoSAR MemMap模块详解及使用注意事项

在本文中,我们将深入探讨MemMap模块的实例解析,并介绍在使用该模块时需要注意的一些事项。在上述代码中,我们使用了MEMMAP_START_SEC_VAR_32BIT和MEMMAP_START_SEC_CODE来定义MemMap区域的起始位置,使用MEMMAP_STOP_SEC_VAR_32BIT和MEMMAP_STOP_SEC_CODE来定义MemMap区域的结束位置。1.合理划分MemMap区域:根据实际需求,合理划分MemMap区域,将不同类型的变量放置在不同的区域中,以便于管理和访问。

weixin_50547796的博客 2533

读者来信 | 刚搭完HBase集群,Phoenix一启动,HBase就全崩了,是什么原因?(已解决)

前言:之前有朋友加好友与我探讨一些问题,我觉得这些问题倒挺有价值的;于是就想在本公众号开设一个问答专栏,方便技术交流与分享,专栏名就定为:《读者来信》。如遇到本人能力有限难以解决的问题,我将转发该文至我的资源圈尽力寻求大佬们出手帮助,并附上提问者微信二维码,希望给大家提供这样一个互帮互助解决问题的平台。也诚挚地欢迎大家能在留言区积极探讨解决方案,大胆发表自己的看法~ 来信人:于*超 小猿提问 ...

weixin_42047967的博客 1474

79-Halcon-- visualize_object_model_3d 函数功能(交互式3D可视化)

该算子是连接3D数据与决策者的关键可视化桥梁,通过其独特的交互能力和高质量的渲染效果,将复杂的3D信息转化为直观的可视内容,大幅提升工程决策效率和质量。操作符,不仅能在窗口中渲染3D对象,还支持多种交互操作,适用于调试、展示和交互分析场景。本解析将全面探讨其参数功能及工业级应用方案。+几何类型: PointCloud/ TriMesh/CAD。+法线属性: [NX,NY,NZ]+附加数据: Attributes。是Halcon中功能强大的。+顶点属性: [X,Y,Z]+颜色属性: [R,G,B]

weixin_45590420的博客 1206

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Phoenix教程 SpringBoot MybatisPlus Phoenix 整合

springboot MybatisPlus整合Phoenix实现sql操作HBase

爱码猿的博客 2862

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Hbase的SQL接口之Phoenix使用总结(1)

转载自:http://blog.youkuaiyun.com/sunthx/article/details/8707898

追求技术的丸子 928

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Hbase的SQL中间层——Phoenix

Hbase的SQL中间层——Phoenix 一、Phoenix简介 二、Phoenix安装     2.1 下载并解压     2.2 拷贝Jar包     2.3 重启 Region Servers     2.4 启动Phoenix     2.5 启动结果 三、Phoenix 简单使用  &n

码上代码的博客 602

springboot-phoenix5.0-hbase2.0

1,下载 hhbase 对应的 phoenix 安装包 2,解压apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz 3,将 apache-phoenix-5.0.0-HBase-2.0-bin 中的phoenix-5.0.0-HBase-2.0-server.jar 拷贝到hbase-2.0.1/lib 中 4,修改 hbase-site.xml <configuration> <property> ...

weixin_37998428的博客 938

Spring Boot 集成MyBatis 访问Hbase-Phoenix

第一步:引入需要的maven org.apache.phoenix phoenix-core 4.13.0-HBase-1.3 io.netty netty-all 4.0.4.Final 第二步:配置spring boot的数据源package com.cctsoft.config;/** * @Author kevie liu

liuygvip的博客 1万+

Hbase+Phoenix+Mybatis+Springboot整合查询数据

Phoenix Query Server提供了一种与Phoenix和HBase交互的替代方法。很快,这将允许从JVM以外的环境进行访问。 在4.x和5.0版本中,查询服务器及其JDBC客户端是标准Phoenix发行版的一部分。它们不需要其他依赖项。 在5.0版本之后,查询服务器已被捆绑到phoenix-queryserver存储库中,并且其版本号已重置为1.0。在撰写本文时,没有独立查询服务器的发行版本。 由于我们安装的是apache-phoenix-5.0.0-HBase-2.0,所以里.

Linux,Java,SpringBoot,Python,Lua略知一点 1870

Hbase的SQL中间件Phoenix

    前面介绍了Hbase,知道了hbase有很多的优点,但是使用起来是不是感觉不得劲,为什么呢?因为不能使用我们大家所熟悉的SQL语言进行数据的读写,并且在Java项目中使用的是Hbase提供的API操作数据,不能使用JDBC进行数据库连接操作,使用起来很不方便。当然,只要有问题,就总有热心的大神去解决问题-Phoenix诞生了。 什么是Phoenix ...

戴着红领巾走世界 574

Scala封装Phoenix工具类操作Hbase

Maven依赖 <!--注意 底层引用的\org\glassfish\javax.el\3.0.1-b06-SNAPSHOT在仓库中已经移除了我们这里引用其稳定版本--> <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-spark</artifactId> <vers

张俊杰 的博客 699

使用Phoenix5 Java api操作HBase

文章目录引入依赖配置文件编写测试类建表插入记录查询 引入依赖 <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>2.1.5</version> &lt...

刘本龙的专栏 3967

hbase 查询_Hbase+Phoenix+Mybatis+Springboot整合查询数据

Phoenix Query Server提供了一种与Phoenix和HBase交互的替代方法。很快,这将允许从JVM以外的环境进行访问。在4.x和5.0版本中,查询服务器及其JDBC客户端是标准Phoenix发行版的一部分。它们不需要其他依赖项。在5.0版本之后,查询服务器已被捆绑到phoenix-queryserver存储库中,并且其版本号已重置为1.0。在撰写本文时,没有独立查询服务...

weixin_39998859的博客 387
上一篇: jenkins搭建与配置
下一篇: springboot mybatis phoenix
programmeryu
博客等级 码龄11年 23粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值