我的编程空间,编程开发者的网络收藏夹
学习永远不晚

大数据开发phoenix连接hbase流程详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

大数据开发phoenix连接hbase流程详解

一、安装phoennix添加配置

大数据开发phoenix连接hbase流程详解

1、将phoenix-server-hbase-2.4-5.1.2.jar拷贝至hbase的的lib下

cp  phoenix-server-hbase-2.4-5.1.2.jar ../hbase/lib/

2、配置phoenix可以访问hbase的系统表

(1)将以下配置添加至hbase-site.XML中

   <property>
      <name>phoenix.schema.isNamespaceMappingEnabled</name>
      <value>true</value>
   </property>
    <property>
        <name>phoenix.schema.mapSystemTablesToNamespace</name>
        <value>true</value>
    </property>

(2)将hbase-stie.xml拷贝到phoenix/bin目录下

cp ../hbase/conf/hbase-site.xml   ../phoenix/bin/

二、启动phoenix服务

1、启动hbase

../hbase/bin/start-hbase.sh

2、启动phoenix

python3  ../phoenix/bin/sqlline.py   server200:2181

server200:2181为zookeeper地址

大数据开发phoenix连接hbase流程详解

三、phoenix常用语法

 官网文档   https://phoenix.apache.org/language/index.html

(1)创建表

create table test1(id varchar primary key,a varchar,b varchar);

id主键可视为hbase的rowkey

大数据开发phoenix连接hbase流程详解

(2)插入数据

upsert into TEST1 values('202211160089','liuping','chenyingying');

(3) 查询数据

select * from TEST1;

大数据开发phoenix连接hbase流程详解

(4)视图/表映射

由于phoenix 无法直接访问hbase创建的非系统表,可以通过视图/表映射对非系统表进行查询,但视图不可修改,表映射可读可写

在hbase上创建表名为eftb列族为fm1 、fm2的表

create 'reftb','fm1','fm2'

大数据开发phoenix连接hbase流程详解

向表中添加数据

 put 'reftb','010101','fm1:name','zhangsan'
 put 'reftb','010101','fm2:age','九千岁'

<1>视图映射

create view "reftb"(id varchar primary key,"fm1"."name" varchar,"fm2"."age" varchar);

<2>表映射

create table "reftb"(id varchar primary key,"fm1"."name" varchar,"fm2"."age" varchar);

<3>查看数据

大数据开发phoenix连接hbase流程详解

大数据开发phoenix连接hbase流程详解

(5)添加修改数据(增改语法相同)

 upsert into "reftb"  values('010102','诸葛村夫','五十');
 upsert into "reftb"  values('010101','常山赵子龙','七十');

(6)删除数据

delete from "reftb" where ID='010101';

(7)创建schema(数据库名,对用hbase是的namespace)

CREATE SCHEMA IF NOT EXISTS "my_schema";

四、java代码集成phoenix

1、添加依赖

implementation 'org.apache.phoenix:phoenix-client-hbase-2.4:5.1.2'

2、编写代码

public class PhoenixJdbcUtils {
    private final static Logger LOGGER = LoggerFactory.getLogger(PhoenixJdbcUtils.class);
    private static   Connection connection;
    static {
        Properties properties =new Properties();
        PhoenixDriver instance = PhoenixDriver.INSTANCE;
        try {
            connection = instance.connect("jdbc:phoenix:server200:2181", properties);
            ///connection = DriverManager.getConnection("jdbc:phoenix:server200:2181", properties);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    
    public static   void  testUpsertData() throws SQLException {
        PreparedStatement psUpsert = connection.prepareStatement( " upsert  into \"reftb\" values('168936','刘备','63')");
        boolean addData = psUpsert.execute();
        LOGGER.info("addData---------"+addData);
        connection.commit();
    }
    
    public static void  testQueryData() throws SQLException {
        PreparedStatement psQuery = connection.prepareStatement(" select  *  from  \"reftb\" ");
        ResultSet resultSet = psQuery.executeQuery();
        while (resultSet.next()) {
            LOGGER.info("id--{}",resultSet.getString(1));
            LOGGER.info("name--{}",resultSet.getString(2));
            LOGGER.info("age--{}",resultSet.getString(3));
        }
    }
    public static void main(String[] args) {
        try {
            testQueryData();
            testUpsertData();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

到此这篇关于大数据开发phoenix连接hbase流程详解的文章就介绍到这了,更多相关phoenix连接hbase内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

大数据开发phoenix连接hbase流程详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

大数据开发phoenix连接hbase流程详解

目录一、安装phoennix添加配置二、启动phoenix服务三、phoenix常用语法四、Java代码集成phoenix一、安装phoennix添加配置1、将phoenix-server-hbase-2.4-5.1.2.jar拷贝至hba
2022-11-20

SpringCloudConfig连接git与数据库流程分析讲解

springcloudconfig是一个解决分布式系统的配置管理方案。它包含了client和server两个部分,server端提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client端通过接口获取数据、并依据此数据初始化自己的应用
2022-12-30

微信小程序开发之连接本地MYSQL数据库

一、本地搭建HTTP服务器 1.使用Node.js在本地搭建HTTP服务器 1)下载安装Node.js 网址:https://nodejs.org/en 右边是长期维护版本,左边是尝鲜版,推荐下载长期维护版本 2)安装完成后本地创建文件夹
2023-08-16

通过Java连接SQL Server数据库的超详细操作流程

java相对于其他语言(例如c,c++等)连接数据库要方便得多,那么如何连接呢?下面这篇文章主要给大家介绍了关于通过Java连接SQL Server数据库的超详细操作流程,需要的朋友可以参考下
2023-03-06

数据库开发实战教程:使用Python连接Kerberos的Presto

【摘要】本文将为大家带来Python连接presto开源的两个实践案例。 Python连接presto开源提供了以下两个库可以使用 presto-python-client:https://github.com/prestodb/presto-python-
数据库开发实战教程:使用Python连接Kerberos的Presto
2022-03-31

Mysql命令行连接远程/本地数据库详解

目录mysql 命令行 连接本地数据库Mysql 命令行 连接远程数据库总结Mysql 命令行 连接本地数据库MySQL登录mysql -uroot -p密码mysql -hip -uroot -p连接目标的密码mysql --host
2023-05-05

如何解决PHP开发中的数据库连接池问题

数据库连接池是在Web开发中经常遇到的一个性能瓶颈。在PHP开发中,高并发的数据库连接请求会导致服务器响应变慢或者数据库崩溃。为了解决这个问题,我们可以使用数据库连接池来优化数据库连接的管理和利用。本文将介绍如何使用PHP来实现数据库连接池
2023-10-21

【云开发】小程序端操作数据库详解

文章目录 云数据库云数据库简介手动操作数据库小程序端操作数据库🎲添加数据🎲删除数据🎲修改数据🎲查询数据 云数据库 云数据库简介 云开发中的数据库是
2023-08-18

使用Python连接MySQL数据库进行编程的步骤详解

目录1.连接到mysql数据库2.创建表3.插入/更新数据4.查询数据5. 异常处理6.小结PostgreSQL等。本教程将重点介绍使用python连接MySQL数据库进行编程。 MySQL是一种常见的关系型数据库,我们可以使用Python
2023-06-10

大规模数据处理中的Python并发编程问题详解

大规模数据处理中的Python并发编程问题详解在当今数据爆炸的时代,大规模数据处理成为了许多领域的重要任务。对于处理海量数据,提高处理效率是至关重要的。而在Python中,通过并发编程可以有效提高程序的执行速度,从而更高效地处理大规模数据。
2023-10-22

详解Spring Boot实战之Rest接口开发及数据库基本操作

本文介绍了Spring Boot实战之Rest接口开发及数据库基本操作,分享给大家1、修改pom.xml,添加依赖库,本文使用的是mysql org.springframework.boot
2023-05-31

编程热搜

目录