
Spark-Hbase
文章平均质量分 67
Spark整合Hbase+phoenix
南风知我意丿
“知识,哪怕是知识的幻影,也会成为你的铠甲,保护你不被愚昧反噬”
展开
-
Spark读取Hbase多版本表
Spark读取Hbase多版本表原创 2023-05-18 17:14:56 · 314 阅读 · 0 评论 -
Spark bulkload一些问题2
1.hbase.mapreduce.hfileoutputformat.table.name cannot be empty2.Trying to load more than 32 hfiles to one family of one region3.java.lang.NoSuchMethodError: jar包冲突4.Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0.0 i原创 2022-09-04 18:18:31 · 1870 阅读 · 0 评论 -
Spark读取Hbase (scala版)
spark 读取 Hbase数据(put、scan)原创 2022-07-17 17:41:25 · 2592 阅读 · 0 评论 -
Hbase TimeStamp的妙用
基本架构:实时写入时,需要考虑数据更新的顺序,要做到spark消费kafka里的数据是按照时间顺序消费的,不然可能5s的数据会被4s(迟到/不同分区)来的数据覆盖;实时写入的顺序,大都由CDC(canal、debezium等)控制。针对每一条数据的更新,CDC都会对“表名+主键”进行Hash,路由到Kafka对应的分区。其实针对某个表某条记录的更新,消费时是有严格的顺序的。但如果后期更改kafka分区个数,就会稍微麻烦点。如果不停服更新,就意味着同一条记录的不同更新,分布在不同的分区,也就不能保证严格的顺序原创 2022-06-26 19:41:34 · 2773 阅读 · 0 评论 -
Spark bulkload一些问题
spark bulkload 数据到hbase 遇到这样的问题,为了更好的平移至hbase数据库 spark写入的并行度和 hbase的region个数保持了一致 这样也存在一个问题 如果hbase的region个数不够 并行度就小了 假如数据量大的情况下 并行度又比较小 容易造成oom 你有遇到这种情况的解决方法吗?......原创 2022-06-02 17:22:46 · 932 阅读 · 6 评论 -
记一次Spark和Hbase的netty冲突
原因分析:例如:pom文件中,hbase在spark core的前面1,比如有如下两个依赖关系:A -> B -> C -> D(V1)F -> G -> D(V2)这个时候项目中就出现了两个版本的D,这时maven会采用最短路径原则,选择V2版本的D,因为V1版本的D是由A包间接依赖的,整个依赖路径长度为3,而V2版本的D是由F包间接依赖的,整个依赖路径长度为2。2,如果重复依赖的路径长度是相同的,则使用声明优先原则。比如:A -> B -> D(V1)F -> G -> D(V2)这个原创 2022-06-02 15:12:34 · 470 阅读 · 0 评论 -
记一次 spark 跨集群bulk load的问题及解决方法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2022-06-02 14:23:13 · 2613 阅读 · 2 评论 -
Spark读写Phoenix新版本
项目场景:Spark + hive + Phoenix 新版本引入依赖 <spark.version>3.0.3</spark.version> <scala.version>2.12.10</scala.version> <phoenix.version>5.1.2</phoenix.version><dependency> <groupId>org.ap原创 2022-05-01 15:39:11 · 1242 阅读 · 1 评论 -
记一次java.sql.SQLException: ERROR: MutationState size is bigger than maximum allowed numbe
项目场景:phoenix 插入数据量大时报错: java.sql.SQLException: ERROR 730 (LIM02): MutationState size is bigger than maximum allowed number of bytes:原因分析:spark写入phoenix过大,超过了phoenix默认的承载量,更改下hbase-site.xml配置文件即可解决方案:主要修改三个参数配置:phoenix.mutate.batchSize:执行过程中被批处理并原创 2022-05-01 14:47:36 · 714 阅读 · 0 评论 -
记一次java.sql.SQLException: No suitable driver found for jdbc:phoenix
项目场景:记一次粗心的 spark写hbase出错问题描述主要bug日志java.sql.SQLException: No suitable driver found for jdbc:phoenix:node118,node119,node120:2181解决方案:1,检查以下zkUrl是否写的规范 (xxx,xx,xxx:2181)2,检查一下是否忘了注册驱动//phoenix.jdbc.driver = org.apache.phoenix.jdbc.PhoenixDriver原创 2022-05-01 14:39:37 · 1068 阅读 · 0 评论 -
记一次 Spark批量对hbase put出现 Hbase RegionTooBusyException、over memstore limit =512.0m
项目场景:业务场景 通过Spark将hive表的一部分数据取出来 通过phoenix批量对hbase做 put操作,batch设置过大,于是 出现 Hbase RegionTooBusyException、over memstore limit =512.0m问题描述异常代码片段Region在每次进行put时,会进行resource的检查。默认情况下:512M = memstore(128M) * multiplier(4)原因分析:问题分析:一般来说memstore超过hba原创 2022-05-01 14:29:25 · 1025 阅读 · 0 评论 -
NoClassDefFoundError:CompatSteppingSplitPolicy
一次spark写phoenix bug:NoClassDefFoundError:CompatSteppingSplitPolicy日志表现:java.lang.NoClassDefFoundError: org/apache/phoenix/compat/hbase/CompatSteppingSplitPolicy at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(C原创 2022-04-29 15:38:58 · 1761 阅读 · 0 评论