使用Python访问Phoenix

news2024/10/6 12:18:47

需求分析

理解Phoenix的原理及应用场景,理解Thrift的原理及操作,掌握Python如何访问操作HBase。

系统实现

实验流程分析:

开启HBase集群

在Phoenix上创建表

启动Thrift服务

实现Python访问HBase

关闭启动的服务

开启HBase集群:

开启ZooKeeper集群

 在master,slave1和slave2上分别打开Zookeeper集群

 查看Zookeeper的运行状态

开启Hadoop集群

 在master上开启Hadoop集群

启动HBase集群

 在master上启动HBase集群

在Phoenix上创建表:

启动Phoenix服务

执行!table指令,出现如下的表

创建Phoenix表

创建一个Phoenix表,表名为population,具体指令如下:

create table if not exists population(
state char(2) not null,
city varchar not null,
population bigint constraint my_pk primary key(state,city)
);                               

向表中插入数据

向population表插入数据,具体指令如下:

查询表中插入数据

使用seletc命令查询population表中数据

数据如下

启动Thrift服务:

启动HBase Thrift服务

在master服务器启动Thrift服务,具体指令如下:

进入HBase Shell客户端

在任意一台服务器上进入HBase Shell客户端,具体指令如下:

查看HBase表

表中数据如下

实现Python访问HBase:

编写Python程序

在master服务器输入以下指令,打开文件

输入以下代码

from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol

from hbase import Hbase
from hbase.ttypes import *

transport = TSocket.TSocket('master', 9090)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Hbase.Client(protocol)
transport.open()
result = client.getRow('POPULATION','CALos Angeles')
print(result)

运行Python程序

输入以下指令运行程序

结果如下

关闭启动的服务

关闭Thrift服务

在master上输入下图指令

退出Phoenix服务

在master的第一个终端退出Poenix服务

关闭HBase集群

在master上关闭HBase集群

关闭Hadoop集群

在master上关闭Hadoop集群

关闭ZooKeeper集群

在三个服务器上都关闭ZooKeeper集群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1493737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软考高项】【论文专题】- 3 - 论文写作方法

目录 1、 论文构思 2、 论文背景 论点 收尾的写作 2.1 一般正文的布局 2.2 论文结构 2.2.1 结构一:万能通用结构 2.2.2 结构二 2.2.3 结构三 2.3 论文内容写作 2.3.1 撰写项目背景 2.3.2 撰写理论知识点应用 2.2.3 撰写经验总结(项目收尾部分) 2.3 撰…

FPGA 的 DSP:Verilog 中的简单 FIR 滤波器

本项目介绍如何用 Verilog 实现一个带有预生成系数的简单 FIR 滤波器。 Things used in this project 、 Story 简陋的 FIR 滤波器是 FPGA 数字信号处理中最基本的构建模块之一,因此了解如何利用给定的抽头数和相应的系数值组装一个基本模块非常重要。因此&#xf…

学生信息管理展示-h5版(uniapp+springboot+vue)

记录一下做的第一个完整的h5业务。 一、登录 二、个人中心 三、首页(管理员) 四、首页(学生) 五、视频展示 学生信息管理展示(h5)完整版

算法刷题day22:双指针

目录 引言概念一、牛的学术圈I二、最长连续不重复序列三、数组元素的目标和四、判断子序列五、日志统计六、统计子矩阵 引言 关于这个双指针算法,主要是用来处理枚举子区间的事,时间复杂度从 O ( N 2 ) O(N^2) O(N2) 降为 O ( N ) O(N) O(N) &#xf…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:PanGesture)

拖动手势事件,当滑动的最小距离超过设定的最小值时触发拖动手势事件。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 接口 PanGesture(value?: { fingers?: number; direction?: PanDir…

进程的奥德赛:并发世界中的核心概念与动态管理

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…

Java并发编程-进程和线程

一、进程和线程 1. 进程 什么是进程? 简单来说,进程就是程序的一次启动和执行。进程是操作系统中的一个概念,它代表正在运行的程序的实例。每个进程都有自己的内存空间、代码和数据,以及其他操作系统资源,如文件和设备…

数据资产:隐藏在企业内部的金矿

引言 在这个数字化快速发展的时代,数据已成为企业的核心竞争力之一。数据资产不仅代表了企业的知识和智慧,还隐藏着巨大的商业价值。然而,许多企业对于数据资产的价值认识仍然不足,导致大量数据资源被埋没。本文将带您深入了解数…

游戏引擎渲染流程

一、渲染概述 我们首先看到渲染技术的发展 游戏渲染面临的挑战: 一个容器中同一时刻有大量的游戏对象需要进行渲染,并且不同对象渲染的形式、算法还有所差异,这些使得游戏的绘制系统变得非常复杂;其次,游戏引擎的渲染…

小白跟做江科大51单片机之DS1302可调时钟

原理部分 1.DS1302可调时钟介绍 单片机定时器主要占用CPU时间,掉电不能继续运行 图1 2.原理 图2 内部有寄存器,寄存的时候以时分秒寄存,以通信协议实现数据交互,就可以实现对数据进行访问和读写 3.主要寄存器定义 CE芯片使能…

去极值滑动平均值滤波FB(含线速度对比测试波形)

博途PLC滑动平均值滤波相关算法内容在专栏有系列文章,大家可以查看相关文章,常用链接如下: 1、滑动平均值滤波 https://rxxw-control.blog.csdn.net/article/details/124851884https://rxxw-control.blog.csdn.net/article/details/1248518842、博途PLC指数加权平均值滤波…

MATLAB环境下基于离散小波变换的体外血管图像处理

下面简要介绍小波变换的部分应用。 信号去噪。小波去噪是根据有效信号和噪声信号在小波变换后表现出的不同特性实现的,一般可用于去除语音、图像、视频等中的噪声信号。小波去噪方法根据对小波系数的非线性处理方式分为三类,分别是小波变换模极大值去噪…

数学建模【聚类模型】

一、聚类模型简介 “物以类聚, 人以群分”,所谓的聚类,就是将样本划分为由类似的对象组成的多个类的过程。聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计、分析或预测,也可以探究不同类之间的相关性和…

如何在控制台重新发送请求、修改请求参数

场景一:重新请求接口 - 鼠标右键点击请求,选择重放XHR - 可以看到重新发起了一次请求 注意:重放XHR不会重新渲染页面数据,只是单纯的请求接口 场景二:修改接口参数 - 右键鼠标右键点击接口、选择复制、选择以fetc…

【教程】无法验证app需要互联网连接以验证是否信任开发者

摘要 本文将探讨在使用苹果App时遇到无法验证开发者的情况,以及用户可以采取的解决方案。通过检查网络连接、重新操作、验证描述文件等方式来解决无法验证开发者的问题。同时,还介绍了开发者信任设置的步骤,以及使用appuploader工具进行安装…

Docker 部署Harbor 443端口冲突

如果Harbor的443端口和主机服务器的443端口存在冲突,那么需要修改Harbor的443 修改docker-compose中443端口,那么需要docker-compose.yml和harbor.yml保持一致配置 当修改harbor.yml重启之后不生效的,则需要进入harbor安装路径 执行 ./install.sh 命令 harbor.yml docker-…

TinyEMU编译与使用

TinyEMU编译与使用 1 介绍2 准备工作3 编译TinyEMU3.1 安装依赖库3.2 编译 4 运行TinyEMU4.1 在线运行4.2 离线运行 5 共享目录5.1 修改root_9p-riscv64.cfg5.2 启动TinyEMU5.3 执行挂载命令 6 TinyEMU命令帮助 1 介绍 原名为riscvemu,于2018-09-23,改为…

Git 进阶 高级用法,重要命令记录

本篇文章用于记录Git高级用法,新手可以看我的另一篇文章:Git基础教学。 Git git fetch 是git pull 的细分步骤,git pull 包含了git fetch git pull origin master 上述命令其实相当于git fetch git merge 在实际使用中,git fetc…

msvcr120.dll丢失怎样修复,更了解msvcr120.dll文件从而解决丢失问题

在电脑使用过程中,"msvcr120.dll丢失"是常见的错误提示之一。那么,今天就和大家聊聊msvcr120.dll文件,如果msvcr120.dll文件丢失的问题时什么原因导致的,让我们仔细来看一下msvcr120.dll是什么以及msvcr120.dll丢失怎样…

【二】【SQL Server】如何运用SQL Server中查询设计器通关数据库期末查询大题

教学管理系统201703153 教学管理系统数据库展示 成绩表展示 课程表展示 学生表展示 院系表展示 一、基本操作 设置复合主键 设置其他表的主键 设置字段取值范围 二、简单操作 第一题 第二题 第三题 第四题 结尾 最后,感谢您阅读我的文章,希望这些内容能…