这两个办法在发明RDD膳绫腔有toHbase办法时会主动测验测验调用,大年夜隐式定义中测验测验找到解决筹划,测验测验之后发明有定义toHBaseRDDSimple隐式办法,于是调用该隐式办法新建HBaseWriteRDDSimple类,返回hBaseWriteRDDSimple,而在hBaseWriteRDDSimple对象中是有toHbase办法的,是以在惹人hbase-rdd之后,可以发明本来没有toHbase办法的RDD上有toHbase办法了。这一切都要归功于Scala强大年夜的隐式转换功能。
那明白了道理,是否我们可以基于RDD写本身的模块,说干就干!
- traitHaha{
- implicitdef gaga[A](rdd: RDD[String]): Hehe=
- newHehe(rdd)
- }
第二步:新建Hehe类
- final class Hehe(rdd:RDD[String]) {
- def wow(tableName:String,family:String): Unit ={
- println("---------------------------------------------")
- println("tableName:"+tableName+" - family:"+family)
- println("size:"+rdd.count())
- rdd.collect().foreach(data=http://developer.51cto.com/art/201704/>println(data))
- println("---------------------------------------------")
- }
- }
第三步:新建包对象
- package object test extends Haha
第四步:新建test类
- object Test{
- def main(args: Array[String]) {
- valsparkConf = new SparkConf().setAppName("Test")
- valsc = new SparkContext(sparkConf)
- sc.makeRDD(Seq("one","two","three","four")).wow("taskDataPre","T")
- }
- }
项目构造图:
运行效不雅图:
欲望对大年夜家今后的开辟有赞助,同时借鉴本案例,在Spark Core之上构建本身的小模块。
51CTO学院 4.20 IT充电节
晃荡链接:http://edu.51cto.com/activity/lists/id-47.html?wenzhang
相干视频教程:
第一步:新建Trait
【大年夜数据 Spark2.x 流数据处理】精晓Spark流数据处理(持续完毕)
【编辑推荐】
- Couchbase之情况搭建与基于Java的测试
- C#分布式缓存Couchbase应用
- 阿里肖冰:若何实现分钟级其余HBase宕机恢复
- HTC Vive VR行业应用负责人马杰思 :HTC Vive与房间级虚拟实际体验
- 一文读懂Hadoop、HBase、Hive、Spark分布式体系架构
推荐阅读
近些年来,人工智能范畴又活泼起来,除了传统了学术圈外,Google、Microsoft、facebook等工业界优良企业也纷纷成立相干研究团队,并取得了很多令人注目标结不雅。这要归功于社交收集用户产>>>详细阅读
本文标题:借hbase-rdd二次开发谈如何在Spark Core之上扩建自己的模块
地址:http://www.17bianji.com/lsqh/34785.html
1/2 1