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

相关文章

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

如何使用Lombok进行spring 注入

《如何使用Lombok进行spring注入》本文介绍如何用Lombok简化Spring注入,推荐优先使用setter注入,通过注解自动生成getter/setter及构造器,减少冗余代码,提升开发效... Lombok为了开发环境简化代码,好处不用多说。spring 注入方式为2种,构造器注入和setter

Java堆转储文件之1.6G大文件处理完整指南

《Java堆转储文件之1.6G大文件处理完整指南》堆转储文件是优化、分析内存消耗的重要工具,:本文主要介绍Java堆转储文件之1.6G大文件处理的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言文件为什么这么大?如何处理这个文件?分析文件内容(推荐)删除文件(如果不需要)查看错误来源如何避

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java