phoenix连接hbase

这篇具有很好参考价值的文章主要介绍了phoenix连接hbase。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装phoennix添加配置  

phoenix连接hbase,BigData,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,BigData,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,BigData,hbase,大数据

 (2)插入数据

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

(3) 查询数据

select *  from TEST1;

phoenix连接hbase,BigData,hbase,大数据

 (4)视图/表映射

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

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

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

 phoenix连接hbase,BigData,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,BigData,hbase,大数据

phoenix连接hbase,BigData,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、编写代码文章来源地址https://www.toymoban.com/news/detail-607960.html

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();
        }
    }
    /**
     * 插入数据
     * @throws SQLException
     */
    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();
    }
    /**
     * 查询数据
     * @throws SQLException
     */
    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的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spark+phoenix读取hbase

    正常来说这个内容应该网上可参考的文章很多,但是我还是捣鼓了好久,现在记录下来,给自己个备忘录。 phoenix是操作hbase的皮肤,他可以轻松的使用sql语句来操作hbase,比直接用hbase的原语操作要友好的多。spark直接操作hbase也是通过hbase的原语操作,操作起来比较繁琐,下

    2024年01月22日
    浏览(28)
  • zookeeper + hadoop + hbase + phoenix

    IP hostname 192.168.23.130 hadoop01 192.168.23.131 hadoop02 192.168.23.132 hadoop03 jdk-1.8 zookeeper-3.8.1 hadoop-3.2.4 hbase-2.4.15 phoenix-2.4.0-5.1.3 1、关闭防火墙 2、设置主机名 3、配置主机hosts 4、设置ssh免密登录 分发JDK安装包到其他节点 配置JDK环境变量(所有节点都需要执行) 修改zookeeper配置 添加z

    2024年02月06日
    浏览(34)
  • 基于 HBase & Phoenix 构建实时数仓(1)—— Hadoop HA 安装部署

    目录 一、主机规划 二、环境准备 1. 启动 NTP 时钟同步 2. 修改 hosts 文件 3. 配置所有主机间 ssh 免密 4. 修改用户可打开文件数与进程数(可选) 三、安装 JDK 四、安装部署 Zookeeper 集群 1. 解压、配置环境变量 2. 创建配置文件 3. 创建新的空 ZooKeeper 数据目录和事务日志目录 4

    2024年03月10日
    浏览(38)
  • 【Java核心知识】spring boot整合Mybatis plus + Phoenix 访问Hbase与使用注意

    为什么Phoenix能让开发者通过SQL访问Hbase而不必使用原生的方式?引用Phoenix官网上的一句话:SQL is just a way of expressing what you want to get not how you want to get it . 即SQL不是一种数据操作技术,而是一种特殊的表达方式。只是表示你需要什么而不是你如何获得。 一个集成了Phoenix的Hb

    2024年02月15日
    浏览(37)
  • 使用IDEA连接hbase数据库

     Hbase是安装在另一台LINUX服务器上的,需要本地通过JAVA连接HBase数据库进行操作。由于是第一次接触HBase,过程当中百度了很多资料,也遇到了很多的问题。耗费了不少时间才成功连接上。特记录下过程当中遇到的问题。 JAVA连接HBase代码如下: 首先通过POM将需要的JAR包导入。

    2024年02月03日
    浏览(80)
  • 数据分析和构建大数据分析基础设施的关键环节 Building a BigData Analytics Infrastructure

    作者:禅与计算机程序设计艺术 2010年,谷歌搜索引擎爆炸性的流量导致其搜索结果无法显示全面而失败,此后数十年的时间里,谷歌始终秉持着让用户获得快速、及时的信息检索体验的使命,致力于提供最好的网页搜索引擎产品,实现其搜索功能的更好升级。如今,谷歌已

    2024年02月12日
    浏览(35)
  • 【Phoenix】phoenix实现每个Primarykey主键保留N版本数据,CDC数据记录为Changelog格式

    CDC数据中包含了,数据的变更过程。当CDC写入传统数据库最终每一个primary key下会保存一条数据。当然可以使用特殊手段保存多分记录但是显然造成了数据膨胀。 另外数据湖Hudi(0.13.1)是不支持保存所有Changelog其Compaction机制会清除所有旧版本的内容。Iceberg支持TimeTravel,能查到

    2024年02月07日
    浏览(37)
  • 【dbeaver】win环境的kerberos认证和Clouders/cdh集群中Kerberos认证使用Dbeaver连接Hive、Impala和Phoenix

    1.1 下载安装MIT KERBEROS客户端 MIT KERBEROS 下载较新的版本即可。 下载之后一路默认安装即可。 注意:不要修改软件安装位置。 修改系统环境变量中的Path。将刚刚的安装路径置顶。(不置顶,也要比 %JAVA_HOME%bin 和 anaconda 相关的高) 使用CMD命令确认下: 1.2 修改 krb5.conf 文件并

    2024年02月02日
    浏览(42)
  • 一文读懂大数据工具Phoenix:让你的数据管理更高效!

    介绍:Phoenix,最初由saleforce开发并开源,后成为Apache基金会的顶级项目。它是一个构建在HBase上的SQL层,可以使用标准的JDBC APIs而不是HBase客户端APIs来创建表、插入数据和查询HBase中的数据。此外,Phoenix还完全使用Java编写,作为HBase内嵌的JDBC驱动,将SQL查询转换为一个或多个

    2024年01月20日
    浏览(32)
  • TF-IDF (BigData, Data Mining)

    TF-IDF (term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。 TF 是词频(Term Frequency), IDF 是逆文本频率指数(Inverse Document Frequency)。 TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。 字词的重要

    2024年02月06日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包