IDEA中Spark读Hbase中的数据
import org.apache.hadoop.hbase.HBaseConfiguration
import org.apache.hadoop.hbase.io.ImmutableBytesWritable
import org.apache.hadoop.hbase.mapreduce.TableInputFormat
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.hadoop.hbase.client._
import org.apache.hadoop.hbase.util.Bytes object 读Hbase数据 {
def main(args: Array[String]): Unit = {
val conf=HBaseConfiguration.create()
val sc_conf=new SparkConf().setMaster("local[2]").setAppName("读取Hbase中的数据")
val sc=new SparkContext(sc_conf)
//设置查询的表名
conf.set(TableInputFormat.INPUT_TABLE,"student")
val RDD=sc.newAPIHadoopRDD(conf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result]) val count=RDD.count()
println("Students RDD Count:"+count)
RDD.cache()
//遍历输出
RDD.foreach({case (_,result)=>
val key=Bytes.toString(result.getRow)
val name=Bytes.toString(result.getValue("info".getBytes,"name".getBytes))
val gender=Bytes.toString(result.getValue("info".getBytes,"gender".getBytes))
val age=Bytes.toString(result.getValue("info".getBytes,"age".getBytes))
println("ROW:"+key+" name: "+name+" Gender: "+gender+" Age: "+age)
}) }
}
/* Hbase ‘student'表里的数据
hbase(main):002:0> scan 'student'
ROW COLUMN+CELL
1 column=info:age, timestamp=1511069825331, value=23
1 column=info:gender, timestamp=1511069793625, value=B
1 column=info:name, timestamp=1511069769388, value=soyo
2 column=info:age, timestamp=1511069981392, value=24
2 column=info:gender, timestamp=1511069942570, value=G
2 column=info:name, timestamp=1511069903103, value=soyo2
2 row(s) in 0.2910 seconds
*/
结果:
Students RDD Count:
ROW: name: soyo Gender: B Age:
ROW: name: soyo2 Gender: G Age:
IDEA中Spark读Hbase中的数据的更多相关文章
- IDEA中 Spark 读Hbase 报错处理:
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] // :: ERROR RecoverableZooKeepe ...
- IDEA中Spark往Hbase中写数据
import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.io.ImmutableBytesWr ...
- Spark读HBase写MySQL
1 Spark读HBase Spark读HBase黑名单数据,过滤出当日新增userid,并与mysql黑名单表内userid去重后,写入mysql. def main(args: Array[Str ...
- Spark读取Hbase中的数据
大家可能都知道很熟悉Spark的两种常见的数据读取方式(存放到RDD中):(1).调用parallelize函数直接从集合中获取数据,并存入RDD中:Java版本如下: JavaRDD<Inte ...
- Spark读Hbase优化 --手动划分region提高并行数
一. Hbase的region 我们先简单介绍下Hbase的架构和Hbase的region: 从物理集群的角度看,Hbase集群中,由一个Hmaster管理多个HRegionServer,其中每个HR ...
- Spark读写Hbase中的数据
def main(args: Array[String]) { val sparkConf = new SparkConf().setMaster("local").setAppN ...
- 用Spark查询HBase中的表数据
java代码如下: package db.query; import org.apache.commons.logging.Log; import org.apache.commons.logging ...
- 用Spark向HBase中插入数据
java代码如下: package db.insert; import java.util.Iterator; import java.util.StringTokenizer; import org ...
- Spark 读取HBase和SolrCloud数据
Spark1.6.2读取SolrCloud 5.5.1 //httpmime-4.4.1.jar // solr-solrj-5.5.1.jar //spark-solr-2.2.2-20161007 ...
随机推荐
- 爬虫框架urllib 之(二) --- urllib基础
urllib 官方文档:https://docs.python.org/zh-cn/3/library/urllib.html urllib介绍 Urllib是python内置的HTTP请求库,是py ...
- 程序包javax.servlet.http不存在
在maven test项目时,出现错误: java:[7,26] 程序包javax.servlet.http不存在 原因:pom.xml中未引入javax.servlert-api相关的包 <d ...
- Android 笔记一:线性布局
建立布局 新建项目后,在如图路径下新建xml文件可以开始编辑 weight的使用 android:layout_width="0dp",或android:layout_width= ...
- 牛客网暑期ACM多校训练营(第二场)B discount
链接:https://www.nowcoder.com/acm/contest/140/B来源:牛客网 题目描述 White Rabbit wants to buy some drinks from ...
- [luoguP1010] 幂次方 ^(* ̄(oo) ̄)^
传送门 递归.. 代码 #include <cstdio> int n; int bit[15]; inline void solve(int x) { int i, f = 0; if( ...
- MT6753/MT6755 呼吸灯功能添加
利用mtk pmic自带的呼吸灯模式: 主要修改代码: kernel-3.10/drivers/misc/mediatek/leds/mt6755/leds.c int mt_brightness ...
- linux 常见名词及命令(五)
计划任务服务之一次性任务: at <时间> 安排一次性任务 atq 或at -l 查看任务列表 at -c 序号 预览任务与设置环境 atrm 序号 删除任务 安排任务示例: 在23:30 ...
- Codeforces 631B Print Check【模拟】
题意: 按顺序给定列和行进行涂色,输出最终得到的方格颜色分布. 分析: 记录下涂的次序,如果某个元素的横和列都被涂过,那么就选择次序最大的颜色. 代码: #include<iostream> ...
- Setting up Storm and Running Your First Topology
http://www.haroldnguyen.com/blog/2015/01/setting-up-storm-and-running-your-first-topology/ --------- ...
- 解决fragmentTransaction.replace不能全屏
今天遇到个问题,使用fragmentTransaction.replace替换后的内容不能全屏.. FragmentManager fragmentManager = getSupportFragme ...