Phoenix 搭建与报错处理,hbase与phoenix表与表进行关联

2023-11-28 05:10

本文主要是介绍Phoenix 搭建与报错处理,hbase与phoenix表与表进行关联,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Overview | Apache Phoenix    官网
Phoenix Downloads | Apache Phoenix        下载

phoenix是Hbase的SQL壳 (可以写sql)
phoenix的用途 : 连接Hbase当SQL的数据库使用,语法有细微差别
        访问Hbase的数据,映射view。使用select 查询进行分析,统计,汇总
另一种的壳可以选kylin

1.下载和Hbase对应的版本
例:apache-phoenix-4.14.0-cdh5.14.2-bin.tar
2.解压
例:tar -zxvf apache-phoenix-4.14.0-cdh5.14.2-bin.tar.gz 

3.mv到/opt/install/phoenix

4.拷贝/opt/install/phoenix/phoenix-xxx-server.jar 到hbase的lib下。(所有节点)
例:cdh版的是phoenix-4.14.0-cdh5.14.2-server.jar ,apache版的是 phoenix-4.14.0-Hbase-server.jar

linux>scp -r phoenix-4.14.0-cdh5.14.2-server.jar  192.168.58.200:/opt/install/hbase/lib/
linux>scp -r phoenix-4.14.0-cdh5.14.2-server.jar  192.168.58.201:/opt/install/hbase/lib/
linux>scp -r phoenix-4.14.0-cdh5.14.2-server.jar  192.168.58.202:/opt/install/hbase/lib/
linux>scp -r phoenix-4.14.0-cdh5.14.2-server.jar  192.168.58.203:/opt/install/hbase/lib/

5.重启hbase

linux>stop-hbase.sh
linux>start-hbase.sh

6.启动/phoenix/bin/sqlline.py 192.168.58.200:2181

7.报错处理

错误1:Error: ERROR 103 (08004): Unable to establish connection. (state=08004,code=103)

linux> cp /opt/install/hbase/conf/hbase-site.xml  /opt/install/phoenix/bin/
linux> cp /opt/install/hadoop/etc/hadoop/hdfs-site.xml   /opt/install/phoenix/bin

错误2:Error: SYSTEM.CATALOG (state=08000,code=101)

方法1:/bin/hbase zkcli (此方法推荐)
   ls /hbase/table  (执行hbase zkcli 先不用管有没有报错直接输入 ls /hbase/table)
  如果有下面的表:SYSTEM.CATALOG, SYSTEM.SEQUENCE, SYSTEM.STATS, and SYSTEM.FUNCTION,则执行如下命令
  rmr /hbase/table/SYSTEM.CATALOG
  rmr /hbase/table/SYSTEM.SEQUENCE
  rmr /hbase/table/SYSTEM.STATS
  rmr /hbase/table/SYSTEM.FUNCTION

方法2:/bin/hbase clean --cleanAll(此种方法不建议会清空hbse内的表)
在执行上述命令之前:先关闭hbase(包括HMaster和regionServer)
执行完后重新启动hbase
通过 ./sqlline.py 进入phoenix,系统会自动创建Phoenix的系统表

注意:hbase clean --cleanAll 执行完后hbase内的表会清空,注意关联hive的内部表

成功进入界面

进入后输入>!help

jdbc:phoenix:192.168.58.201:2181> !help    //查看帮助
jdbc:phoenix:192.168.58.201:2181> !tables    //查看表
jdbc:phoenix:192.168.58.201:2181>CREATE TABLE test (
id varchar PRIMARY KEY,
name varchar ,
age varchar
);            //创建表创建后可在hbase中list查看到
注意:hbase区分大小写;Phoenix不区分大小写,默认情况下都是大写,变小写加上双引号就可以

phoenix插入数据: updata+insert结合(upsert)更新数据与这个语句是一样的

jdbc:phoenix:192.168.58.201:2181>upsert into user(id, name, age) values('001', 'lisi', '21');

phoenix删除表

jdbc:phoenix:192.168.58.201:2181>drop table 表名;

phoenix删除语句:

jdbc:phoenix:192.168.58.201:2181>delete from 表名 where 字段='值';

phoenix指定列族

jdbc:phoenix:192.168.58.201:2181>CREATE TABLE test (
id varchar PRIMARY KEY,
INFO.name varchar ,
INFO.age varchar
);

在hbase shell中查看

phoenix查询语句:

jdbc:phoenix:192.168.58.201:2181>select * from 表名;
jdbc:phoenix:192.168.58.201:2181>select name from 表名 where 字段='值';

hbase与phoenix表与表进行关联
在phoenix中:列的顺序可以不一致,表名称必须一致,以及列名称一致
假如在HBase中有一张表
在phoenix做映射创建

jdbc:phoenix:192.168.58.201:2181>create view  "test22"(
"ROW" varchar primary key,
"base"."name" varchar,
"base"."gender" varchar,
"base"."birth_date" varchar
);

 注意事项:

1.phoenix验证的时候,查询表名需要用双引号括起来,强制不转换成大写
2.创建phoenix时,表名和列族以及列名需要用双引号括起来,不然会自动将小写转换成大写。
3.创建关联的时候要用create view不要create table 用view能显示出数据,table不显示数据,而且phoenix删除表会影响hbase与hive内部表
因为:hbase无表 phoenix 创建(table)会映射到hbase

这篇关于Phoenix 搭建与报错处理,hbase与phoenix表与表进行关联的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/429113

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤