spark3.0.1版本查询Hbase数据库例子
需求背景
现有需求,需要采用spark查询hbase数据库的数据同步到中间分析库,记录spark集成hbase的简单例子代码
import org.apache.hadoop.hbase.HBaseConfiguration
import org.apache.hadoop.hbase.client.{ConnectionFactory, Scan}
import org.apache.hadoop.hbase.util.Bytes
import org.apache.spark.sql.SparkSessionobject ReadHBaseData {def main(args: Array[String]): Unit = {// 创建SparkSessionval spark = SparkSession.builder().appName("ReadHBaseData").master("local").getOrCreate()// 创建HBase配置val conf = HBaseConfiguration.create()// 设置HBase连接参数conf.set("hbase.zookeeper.quorum", "localhost")conf.set("hbase.zookeeper.property.clientPort", "2181")// 创建HBase连接val connection = ConnectionFactory.createConnection(conf)// 创建HBase表val tableName = "my_table"val table = connection.getTable(TableName.valueOf(tableName))// 创建HBase扫描对象val scan = new Scan()// 设置要读取的列族和列scan.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("column1"))scan.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("column2"))// 执行HBase扫描val scanner = table.getScanner(scan)// 遍历扫描结果并将结果转换为RDDval rdd = spark.sparkContext.parallelize(scanner.iterator().asScala.map(result => {val rowKey = Bytes.toString(result.getRow)val value1 = Bytes.toString(result.getValue(Bytes.toBytes("cf"), Bytes.toBytes("column1")))val value2 = Bytes.toString(result.getValue(Bytes.toBytes("cf"), Bytes.toBytes("column2")))(rowKey, value1, value2)}).toList)// 将RDD转换为DataFrameval df = spark.createDataFrame(rdd).toDF("rowKey", "value1", "value2")// 显示DataFrame内容df.show()// 关闭HBase连接scanner.close()table.close()connection.close()// 关闭SparkSessionspark.stop()}
}相关文章:
spark3.0.1版本查询Hbase数据库例子
需求背景 现有需求,需要采用spark查询hbase数据库的数据同步到中间分析库,记录spark集成hbase的简单例子代码 import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.client.{ConnectionFactory, Scan} import org.apach…...
android高效读图方式——Hardwarebuffer读图
安卓上有许许多多使用OpenGL来渲染的原因,比方说做特效/动画/硬解/人脸识别等等。渲染完成后如何从gpu中把数据快速读取出来也是高效图像处理中的重要的一环。 相对于glReadPixel的同步读取方式,安卓GLES3.0提供了更高效快速的Hardwarebuffer读图方式&a…...
悉数六大设计原则
悉数六大设计原则 目录 悉数六大设计原则前言☕谁发明了设计模式设计原则设计原则与设计模式的关系 单一职责什么是单一职责不遵循单一职责原则的设计遵循单一职责原则的设计单一职责的优点示例代码: 里氏替换原则什么是里氏替换原则示例代码:违反里氏替…...
hdfs复习
一.hadoop概述 1.4高(优势) 1).高可靠性:hadoop底层多个数据副本,即使某个计算节点存储出现故障,不会导致数据丢失。 2).高扩展性:可以动态增加服务器节点。 3).高效…...
css-Ant-Menu 导航菜单更改为左侧列表行选中
1.Ant-Menu导航菜单 导航菜单是一个网站的灵魂,用户依赖导航在各个页面中进行跳转。一般分为顶部导航和侧边导航,顶部导航提供全局性的类目和功能,侧边导航提供多级结构来收纳和排列网站架构。 2.具体代码 html <!-- 左侧切换 --><…...
02-CSS3基本样式
目录 1. CSS3简介 1.1 CSS3的兼容情况 1.2 优雅降级和渐进增强的开发思想 2. 新增选择器 2.1 选择相邻兄弟 2.2 匹配选择器 2.3 属性选择器(重点) 2.4 结构性伪类选择器(重点) 2.4.1 整体结构类型 2.4.2 标签结构类型 2.4.3 指定子元素的序号&…...
USART串口外设
USART介绍 USART:另外我们经常还会遇到串口,叫UART,少了个S,就是通用异步收发器,一般我们串口很少使用这个同步功能,所以USART和UART使用起来,也没有什么区别。 其实这个STM32的USART同步模式&a…...
大模型应用之基于Langchain的测试用例生成
一 用例生成实践效果 在组内的日常工作安排中,持续优化测试技术、提高测试效率始终是重点任务。近期,我们在探索实践使用大模型生成测试用例,期望能够借助其强大的自然语言处理能力,自动化地生成更全面和高质量的测试用例。 当前…...
C++之map
1、标准库的map类型 2、插入数据 #include <map> #include <string> #include <iostream>using namespace std;int main() {map<string, int> mapTest;// 插入到map容器内部的元素是默认按照key从小到大来排序// key类型一定要重载小于号<运算符map…...
【量算分析工具-方位角】GeoServer改造Springboot番外系列六
【量算分析工具-概述】GeoServer改造Springboot番外系列三-CSDN博客 【量算分析工具-水平距离】GeoServer改造Springboot番外系列四-CSDN博客 【量算分析工具-水平面积】GeoServer改造Springboot番外系列五-CSDN博客 【量算分析工具-方位角】GeoServer改造Springboot番外系列…...
【机器学习】机器学习与大模型在人工智能领域的融合应用与性能优化新探索
文章目录 引言机器学习与大模型的基本概念机器学习概述监督学习无监督学习强化学习 大模型概述GPT-3BERTResNetTransformer 机器学习与大模型的融合应用自然语言处理文本生成文本分类机器翻译 图像识别自动驾驶医学影像分析 语音识别智能助手语音转文字 大模型性能优化的新探索…...
上传图片并显示#Vue3#后端接口数据
上传图片并显示#Vue3#后端接口数据 效果: 上传并显示图片 代码: <!-- 上传图片并显示 --> <template><!-- 上传图片start --><div><el-form><el-form-item><el-uploadmultipleclass"avatar-uploader&quo…...
音视频开发14 FFmpeg 视频 相关格式分析 -- H264 NALU格式分析
H264简介-也叫做 AVC H.264,在MPEG的标准⾥是MPEG-4的⼀个组成部分–MPEG-4 Part 10,⼜叫Advanced Video Codec,因此常常称为MPEG-4 AVC或直接叫AVC。 原始数据YUV,RGB为什么要压缩-知道就行 在⾳视频传输过程中,视频⽂件的传输…...
Qt学习记录(15)数据库
目录 前言: 数据库连接 项目文件加上sql 打印查看Qt支持哪些数据库驱动 QMYSQL [static] QSqlDatabase QSqlDatabase::addDatabase(const QString &type, const QString &connectionName QLatin1String(defaultConnection)) 数据库插入 头文件.h 源…...
c++常用设计模式
1、单例模式(Singleton):保证一个类只有一个实例,提供一个全局访问点; class Singleton { private:static Singleton* instance;Singleton() {}public:static Singleton* getInstance() {if (instance nullptr) {instance new Singleton()…...
【动手学深度学习】softmax回归从零开始实现的研究详情
目录 🌊1. 研究目的 🌊2. 研究准备 🌊3. 研究内容 🌍3.1 softmax回归的从零开始实现 🌍3.2 基础练习 🌊4. 研究体会 🌊1. 研究目的 理解softmax回归的原理和基本实现方式;学习…...
MySQL:MySQL执行一条SQL查询语句的执行过程
当多个客户端同时连接到MySQL,用SQL语句去增删改查数据,针对查询场景,MySQL要保证尽可能快地返回客户端结果。 了解了这些需求场景,我们可能会对MySQL进行如下设计: 其中,连接器管理客户端的连接,负责管理连接、认证鉴权等;查询缓存则是为了加速查询,命中则直接返回结…...
解决Python导入第三方模块报错“TypeError: the first argument must be callable”
注意以下内容只对导包时遇到同样的报错会有参考价值。 问题描述 当你尝试导入第三方模块时,可能会遇到如下报错信息: TypeError: the first argument must be callable 猜测原因 经过仔细检查代码,我猜测这个错误的原因是由于变量名冲突所…...
在python中连接了数据库后想要在python中通过图形化界面显示数据库的查询结果,请问怎么实现比较好? /ttk库的treeview的使用
在Python中,你可以使用图形用户界面(GUI)库来显示数据库的查询结果。常见的GUI库包括Tkinter(Python自带)、PyQt、wxPython等。以下是一个使用Tkinter库来显示数据库查询结果的简单示例。 首先,你需要确保…...
OZON的选品工具,OZON选品工具推荐
在电商领域,选品一直是决定卖家成功与否的关键因素之一。随着OZON平台的崛起,越来越多的卖家开始关注并寻求有效的选品工具,以帮助他们在这个竞争激烈的市场中脱颖而出。本文将详细介绍OZON的选品工具,并推荐几款实用的辅助工具&a…...
Keil A51汇编器INCDIR参数分隔符问题解析
1. 问题现象与背景解析 最近在使用Keil C51开发工具链中的A51汇编器时,遇到了一个看似简单却令人困惑的报错。当执行以下命令时: A51 ASAMPLE.A51 PRINT(ASAMPLE.LST) INCDIR(H1;H2)系统抛出了致命错误: A51 FATAL ERROR -LINE: C:…...
SAP ABAP实战:用cl_md_bp_maintain批量维护客户BP,附完整代码与字段拆分逻辑
SAP ABAP实战:基于cl_md_bp_maintain的客户主数据批量处理框架 在SAP系统集成项目中,客户主数据的批量创建与更新是高频需求场景。当需要对接电商平台、CRM系统或进行历史数据迁移时,传统单条处理方式效率低下且难以保证数据一致性。本文将深…...
如何快速掌握专业字体设计:开源Bebas Neue字体完全指南
如何快速掌握专业字体设计:开源Bebas Neue字体完全指南 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 你是否曾经在设计项目中被字体选择困扰?面对那些要么过于普通缺乏个性,…...
HarmonyOS 6学习:水平仪气泡移动方向错误的完整分析与修复方案
从"反向移动"到"精准指向":一次完整的传感器应用开发经历在HarmonyOS 6应用开发中,我最近负责开发一个建筑工具应用,其中包含一个水平仪功能。这个功能对建筑工人和DIY爱好者来说非常实用——通过手机传感器检测设备倾斜…...
免费商用音乐下载网站TOP5 | 基于版权合规与素材复用效率的横评
引言 2026年,国内内容营销市场持续扩张,企业短视频、直播切片、线下活动音视频等场景对背景音乐的需求量同比增长37%(根据《2026中国数字内容版权白皮书》)。然而,创作者在实际选曲过程中普遍存在三类矛盾:…...
DALL·E Mini技术解析:轻量文本生成图像模型的开源实践
1. 项目概述:这不是魔法,是开源图像生成的平民化拐点“Dalle Mini Is Amazing — And You Can Use It!” 这句话在2022年夏天刷爆技术社区和创意论坛时,我正蹲在一台老旧的MacBook Air上,用它生成第一张“一只穿着西装的柴犬站在火…...
GradCAM原理与PyTorch实战:让CNN模型决策可解释
1. 项目概述:为什么我坚持把 GradCAM 当成模型诊断的听诊器用在实验室里调试一个图像分类模型时,我遇到过最尴尬的场景不是准确率上不去,而是模型“答对了题,但完全没看题”。有一次,我们训练了一个猫狗二分类模型&…...
2026年最新亲测3款亲子教育免费AI工具,再也不用为辅导作业头大了
作为一个天天跟音频、视频打交道的IT技术博主,同时也是一位二年级小学生的家长,我这两年踩过的“教育工具坑”真不少。孩子上课注意力不集中、回家记不住重点、家长会信息记不全、辅导作业时自己讲得口干舌燥孩子却一脸懵……这些场景,估计有…...
AI时代如何精准识人?大客户销售话术与沟通,AI赋能销售成交铁军的专业销售技巧成交赢单培训老师
读懂这个人,比说服他更重要 AI时代销售影响力 在大客户销售与高效沟通中,我们最大的误区不是话术不够好,而是压根就没读懂对方是谁。AI时代给了我们一把新的钥匙——用三个维度拆解每一个人,让影响力真正落地。 目录 销售沟通的本…...
别再死记硬背寄存器了!用Vivado SDK玩转Zynq 7010的GPIO(附MIO/EMIO/中断完整代码)
实战派Zynq 7010开发:从零玩转GPIO控制与中断处理 刚接触Zynq平台的开发者常被复杂的寄存器配置困扰,其实Xilinx提供的驱动库能大幅简化开发流程。本文将带你用Vivado SDK快速实现GPIO控制,避开底层细节直接产出可运行代码。 1. 环境搭建与基…...
