spark读取hbase的数据实例代码
发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,这篇文章主要介绍"spark读取hbase的数据实例代码",在日常操作中,相信很多人在spark读取hbase的数据实例代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2025年01月30日spark读取hbase的数据实例代码
这篇文章主要介绍"spark读取hbase的数据实例代码",在日常操作中,相信很多人在spark读取hbase的数据实例代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"spark读取hbase的数据实例代码"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
package hgs.spark.hbase//https://blog.csdn.net/mlljava1111/article/details/52675901import org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport org.apache.hadoop.hbase.HBaseConfigurationimport org.apache.hadoop.hbase.mapreduce.TableInputFormatimport org.apache.hadoop.hbase.client.Scanimport org.apache.hadoop.hbase.filter.FilterListimport org.apache.hadoop.hbase.filter.FilterList.Operatorimport org.apache.hadoop.hbase.filter.RowFilterimport org.apache.hadoop.hbase.filter.RegexStringComparatorimport org.apache.hadoop.hbase.filter.CompareFilter.CompareOpimport org.apache.hadoop.hbase.protobuf.ProtobufUtilimport org.apache.hadoop.hbase.util.Base64import org.apache.hadoop.hbase.util.Bytesimport org.apache.hadoop.hbase.filter.LongComparatorobject HbaseToSpark { def main(args: Array[String]): Unit = { //System.setProperty("spark.serializer", "org.apache.spark.serializer.KryoSerializer"); val conf = new SparkConf conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer") conf.setMaster("local").setAppName("hbasedata") val context = new SparkContext(conf) //hbase配置 val hconf = new HBaseConfiguration hconf.set("hbase.zookeeper.quorum", "bigdata00:2181,bigdata01:2181,bigdata02:2181") hconf.set("hbase.zookeeper.property.clientPort", "2181") hconf.set(TableInputFormat.INPUT_TABLE, "test") val scan = new Scan //扫描的表rowkey的开始和结束 scan.setStartRow("1991".getBytes) scan.setStopRow("3000".getBytes) //val list = new FilterList(Operator.MUST_PASS_ALL) //val filter1 = new RowFilter(CompareOp.GREATER_OR_EQUAL,new LongComparator(1991)) //val filter2 = new RowFilter(CompareOp.LESS_OR_EQUAL,new RegexStringComparator("3000*")) // list.addFilter(filter1) // list.addFilter(filter2) //scan.setFilter(list) //添加scan hconf.set(TableInputFormat.SCAN, convertScanToString(scan)) val hrdd = context.newAPIHadoopRDD(hconf, classOf[TableInputFormat], classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable], classOf[org.apache.hadoop.hbase.client.Result]) val resultrdd = hrdd.repartition(2) //打印结果 resultrdd.foreach{case(_,value)=>{ val key = Bytes.toString(value.getRow) val name = Bytes.toString(value.getValue("cf1".getBytes, "name".getBytes)) val age = Bytes.toString(value.getValue("cf1".getBytes, "age".getBytes)) println("rowkey:"+key+" "+"name:"+name+" "+"age:"+age) } } context.stop() } def convertScanToString(scan: Scan) = { val proto = ProtobufUtil.toScan(scan) Base64.encodeBytes(proto.toByteArray) } }
到此,关于"spark读取hbase的数据实例代码"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
代码
实例
数据
学习
更多
帮助
实用
接下来
文章
方法
理论
知识
篇文章
结果
网站
资料
跟着
问题
好用
实践
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
吱信上海网络技术是干啥的
官方授权经销服务器优质推荐
怎么把表格中的某些数据库
走起互联网科技有限公司
京科通达网络技术有限公司
服务器怎么开通3306端口
翻牌机数据库
购买软件开发者有义务更新吗
应急管理局网络安全个人承诺书
网络安全青年担当活动记录
网络安全工程师在线课程
湖北人工智能软件开发定制
sas数据库列存储
国家安全日网络安全题
安卓学生数据库操作
新世界阿根廷服务器如何选择
邯郸招聘网络技术员
云计算和网络安全哪个就业好
广州凡科互联网科技校招
如何戒色软件开发
警易网络安全陷进手抄报
服务器防护措施方案
网络技术三级四级
运维数据库技术文档
杭州市软件开发招聘信息
revit数据库
州委网络安全委员会
计算机软件开发技术咨询系统
清华大学网络安全专业面试题
如何读取bin文件数据库