spark:spark-sql读hbase

天戈朱 天戈朱     2022-08-02     438

关键词:

     SparkSQL是指整合了Hive的spark-sql cli, 本质上就是通过Hive访问HBase表,具体就是通过hive-hbase-handler, 具体配置参见:Hive(五):hive与hbase整合 

目录:

  • SparkSql 访问 hbase配置
  • 测试验证

SparkSql 访问 hbase配置:


  •  拷贝HBase的相关jar包到Spark节点上的$SPARK_HOME/lib目录下,清单如下:
    guava-14.0.1.jar
    htrace-core-3.1.0-incubating.jar
    hbase-common-1.1.2.2.4.2.0-258.jar
    hbase-common-1.1.2.2.4.2.0-258-tests.jar
    hbase-client-1.1.2.2.4.2.0-258.jar
    hbase-server-1.1.2.2.4.2.0-258.jar
    hbase-protocol-1.1.2.2.4.2.0-258.jar
    hive-hbase-handler-1.2.1000.2.4.2.0-258.jar
  • 在 ambari 上配置Spark节点的$SPARK_HOME/conf/spark-env.sh,将上面的jar包添加到SPARK_CLASSPATH,如下图:
  • 配置项清单如下:注意jar包之间不能有空格或回车符
    export SPARK_CLASSPATH=/usr/hdp/2.4.2.0-258/spark/lib/guava-11.0.2.jar: /usr/hdp/2.4.2.0-258/spark/lib/hbase-client-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hbase-common-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hbase-protocol-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hbase-server-1.1.2.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/hive-hbase-handler-1.2.1000.2.4.2.0-258.jar:/usr/hdp/2.4.2.0-258/spark/lib/htrace-core-3.1.0-incubating.jar:  /usr/hdp/2.4.2.0-258/spark/lib/protobuf-java-2.5.0.jar:${SPARK_CLASSPATH}
  • 将hbase-site.xml拷贝至${HADOOP_CONF_DIR},由于spark-env.sh中配置了Hadoop配置文件目录${HADOOP_CONF_DIR},因此会将hbase-site.xml加载,hbase-site.xml中主要是以下几个参数的配置:
<property>
<name>hbase.zookeeper.quorum</name>
<value>r,hdp2,hdp3</value>
<description>HBase使用的zookeeper节点</description>
</property>
<property>
<name>hbase.client.scanner.caching</name>
<value>100</value>
<description>HBase客户端扫描缓存,对查询性能有很大帮助</description>
</property> 
  •  ambari 上重启修改配置后影响的组件服务

 

测试验证:


  • 任一spark client节点验证:
  • 命令: cd  /usr/hdp/2.4.2.0-258/spark/bin  (spark安装目录)
  • 命令: ./spark-sql
  • 执行: select * from stocksinfo;   (stocksinfo 为与hbase关联的hive外部表)
  • 结果如下则OK:

hbase入门笔记--读性能优化

一、前言    在生产环境使用HBase过程中,随着数据量的不断增加,查询HBase数据变得越来越慢,对于业务来说是不可用的,需要对读性能进行优化二、问题定位    从hbase监控指标来看,发现FullGC次数... 查看详情

hbase

目录为什么用Hbase架构图Hbase写流程Hbase读流程RowKey设计Hbase-client操作Hbase读性能优化Hbase客户端优化Hbase服务端优化Hbase列族设计优化HDFS相关优化Hbase读性能优化归纳为什么用Hbase为什么不用mysql:MySQL数据库我们是算用得最多... 查看详情

hbase写数据,存数据,读数据的详细过程

HBase架构Region-Store-ColumnFmily的关系逻辑分层:<fontcolor=red>HRegion由一个或者多个Store组成</font>Table(HBasetable)Region(Regionsforthetable)Store(StoreperColumnFamilyforeachRegionforthetable)MemStore(Mem 查看详情

spark—idea(代码片段)

...添加scala添加依赖pom添加依赖并下载spark-core重复步骤下载spark-sqlspark-hivespark-graphxmysql-connector-java安装完成新建SparkDemo的scalaobjectsc对象可能会出现报错,参考这位老哥的解决办法wordcount打架包执行分区新建工程新建maven工程... 查看详情

hbase--02---hbase进阶

...自动生成,如何生成可参考右边的帮助文档文章目录HBase进阶==HBase是一个读比写慢的框架==1.架构原理2.写流程3.MemStoreFlushMemStore刷写时机:4.读流程==HBase是一个读比写慢的框架==5.StoreFileComp 查看详情

hbase读延迟的12种优化套

...题,有些是系统本身设计问题,有些却是使用姿势问题。HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少。总结起来,大家遇到的主要问题无非是FullGC异常... 查看详情

hbase一文读懂

本文基于《尚硅谷大数据技术之HBase》编写。HBase简介HBase定义HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。HBase数据模型HBase的数据模型同关系型数据库(RDMS)很类似,数据存储在一张表中,有行... 查看详情

spark2.x读hbase1-2.x(代码片段)

...e.TableInputFormatimportorg.apache.hadoop.hbase.util.Bytesimportorg.apache.spark.SparkConf,SparkContext/***读取HBase表数据*/objectSparkOperateHBasedefmain(args:Array[String]):Unit=valconf=HBaseConfiguration.create()valsc=newSparkContext(newSparkConf())conf.set(TableInputFormat.INPUT_TABLE,"stud... 查看详情

idea中spark读hbase报错处理:

SLF4J:Actualbindingisoftype[org.slf4j.impl.Log4jLoggerFactory]17/11/1914:25:57ERRORRecoverableZooKeeper:ZooKeeperexistsfailedafter4attempts17/11/1914:25:57ERRORZooKeeperWatcher:hconnection-0xaaa0f760x 查看详情

hbase写数据,存数据,读数据的详细过程

Client写入->存入MemStore,一直到MemStore满->Flush成一个StoreFile,直至增长到一定阈值->出发Compact合并操作->多个StoreFile合并成一个StoreFile,同时进行版本合并和数据删除->当StoreFilesCompact后,逐步形成越来越大的StoreFile->... 查看详情

hbase读写优化

一、hbase读优化客户端优化1、scan缓存是否设置合理?优化原理:一次scan请求,实际并不会一次就将所有数据加载到本地,而是多次RPC请求进行加载。默认100条数据大小。优化建议:大scan场景下将scan缓存从100增大到500或者1000,... 查看详情

hbase总结

参考自:https://segmentfault.com/a/1190000019959411尚硅谷HBase视频HBase权威指南HBase大神博客文章目录HBase架构1.数据模型2.架构HBase的读写操作HBase读操作Scanner体系HBase写操作WAL机制HBaseRegionFlushStoreFileCompactionCompaction作用|副作用Compac 查看详情

hbase的compact分析

  HBase是基于LSM树存储模型的分布式NoSQL数据库。LSM树对照普遍的B+树来说,可以获得较高随机写性能的同一时候,也能保持可靠的随机读性能(可參考这里)。在进行读请求的时候。LSM树要把多个子树(类似B+树结构)进... 查看详情

hbase之minorcompact全程解析

转自:https://blog.csdn.net/u014297175/article/details/50456147Compact作用      当MemStore超过阀值的时候,就要flush到HDFS上生成一个HFile。因此随着不断写入,HFile的数量将会越来越多,根据前面所述,HFile数量过多会降低... 查看详情

详解hbase读写性能优化(代码片段)

一、HBase读优化1.HBase客户端优化和大多数系统一样,客户端作为业务读写的入口,姿势使用不正确通常会导致本业务读延迟较高实际上存在一些使用姿势的推荐用法,这里一般需要关注四个问题:1)scan缓存是否设... 查看详情

巧用chatgpt解决hbase快照方式读性能优化问题(代码片段)

一、背景最近公司采用Hbasescan的方式,经常性会遇到任务跑不出来region读取超时,由于scan全量数据,合计行数10个亿,列数接近500。根据建议方案,改为Hbase快照读方式,避免给region造成过大压力二、Hbase... 查看详情

hbase

目录架构图Hbase写流程Hbase读流程RowKey设计Hbase-client操作架构图核心概念解释:HLog:Hbase写数据先写到MemStore(JVM内存存储),为了防止机器挂了数据丢失,写到MemStore之前先记录操作日志到HLog。MemStore中的数据在符合... 查看详情

hbase存储读写等原理

三、课堂目标1.掌握hbase的数据存储原理2.掌握hbase的读流程和写流程3.掌握hbase表的region拆分和合并4.掌握hbase表的预分区四、知识要点1.hbase的数据存储原理 HRegionServer=》多个RegionRegion=》多个store,一个列族对应一个store一个sto... 查看详情