spark rdd 取前20条 saveAsHadoopDataset 4C

如题,现在有一个需求,已经排序好了的数据我需要前20条存入Hbase,我的代码如下:
certnoRDD.map(x=>{
val key=x._1.split("_")(0)+"_CETRNOTOP20_"+c.get(Calendar.YEAR)+"_"+(c.get(Calendar.MONTH)+1)
(key,x._1.split("_")(1),x._2)
}).map(convertRDD(HbaseTableName)(hbaseTableFamily)("INFOCONTENT")("NUM")).saveAsHadoopDataset(jobConfig)

            //关联关系保存
def convertRDD(tableName: String)(columnFamily: String)(columnName1: String)(columnName2: String)
              (triple: (String,String, Int)) = {
    val p = new Put(HbaseKeyUtils.convertRowKey(tableName, triple._1))
    p.addColumn(Bytes.toBytes(columnFamily), Bytes.toBytes(columnName1), Bytes.toBytes(String.valueOf(triple._2)))
    p.addColumn(Bytes.toBytes(columnFamily), Bytes.toBytes(columnName2), Bytes.toBytes(String.valueOf(triple._3)))
    (new ImmutableBytesWritable, p)
}

但我使用take或者top之后无法再使用saveAsHadoopDataset,求大神给指点下

0

1个回答

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Spark取出(Key,Value)型数据中Value值为前n条数据
Spark对(Key,Value)型数据进行排序,并取出Value值为前n的数据
Spark RDD去掉前n行数据
@羲凡——只为了更好的活着 Spark RDD去掉前n行 Q:在处理一些数据的时候会遇到不想要的前n行,该怎么处理? A:使用 rdd 的 zipWithIndex 算子 rdd.zipWithIndex().filter(_._2>=n).keys // n换成对应的第几列即可 ======================================================...
[Spark基础]-- 获取前3个最大值
一、文本内容 3 5 6 7 1 4 5 6 9 0 3 二、代码实现 package com.scala import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.HashPartitioner /**  * scala实现获取单列数据的前3个最高值...
spark take获取前n个元素
take和 collect操作类似,都是从远程集群上获取元素,只是collect操作获取的所有数据,而take操作是获取前n个元素 直接上代码: public static void myTake(){         SparkConf conf=new SparkConf()         .setMaster("local")         .setAppName("myTak
Spark RDD 二次分组排序取TopK
基本需求 用spark求出每个院系每个班每个专业前3名。 样本数据 数据格式:id,studentId,language,math,english,classId,departmentId,即id,学号,语文,数学,外语,班级,院系 1,111,68,69,90,1班,经济系 2,112,73,80,96,1班,经济系 3,113,90,74,75,1班,经济系 4,114,8...
spark dataframe操作集锦(提取前几行,合并,入库等)
spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能。当然主要对类SQL的支持。 在实际工作中会遇到这样的情况,主要是会进行两个数据集的筛选、合并,重新入库。 首先加载数据集,然后在提取数据集的前几行过程中,才找到limit的函数。 而合并就用到union函数,重新入库,就是registerTemple注册成表,再进行写入到HIVE中。
[Spark应用]-- 实现分组取topN
一、文本格式 class1 90 class2 56 class1 87 class1 76 class2 88 class1 95 class1 74 class2 87 class2 67 class2 77 二、直接献上代码 package com.scala import org.apache.spark.SparkConf import org.apache.spark....
如何删掉rdd中的某几行数据?
首先,若能想到这个问题,说明你就在思考。回到问题本质,rdd是弹性分布式数据集,其定义是什么,不做赘述。若真想完成删除rdd的某几行数据,那就使用filter函数,自己写函数,将不符合条件的行过滤掉即可! 下面我提供一个思路(pyspark代码) delcomments = ["嗯嗯嗯嗯", "啦啦啦", "买买买买"] def delcom(line): for i in delc...
scala 随机数函数截取 spark 数据集
scala代码: scala.math.abs(scala.util.Random.nextInt())%27 scala.math.abs:绝对值 scala.util.Random.nextInt:随机数 应用,截取spark数据集: val data = sc.textFile("hdfs://localhost:9000/ModelData/*") .f
Spark中实现分组取TOP N (Scala版本)
1、源数据如下,取出每班成绩的前三名 class1 98 class2 90 class2 92 class1 96 class1 100 class2 89 class2 68 class1 81 class2 90 2、实现过程 package Basic import org.apache.spark.{SparkConf, SparkContext}
Spark Scala选取面向行数据中的某几列
比如数据格式如下: Attribute1   Attribute2   Attribute3        a                   1                 3        b                   4                 2        c                   2                 3 现在我们要
使用RDD解决spark TopN问题:分组、排序、取TopN
处理大学生云计算技能大赛第一题关联规则推荐中,遇到了这题: 用的关联规则推荐算法 FPGowth 想把: (2174 84329 114721 149, 150, 0.885480572597137) (858 878 791 4662, 49, 0.8841607565011821) (858 878 791 4662, 122, 0.9385342789598109) (2174
几个数据库的取前20条数据SQL
几个数据库的取前20条数据SQL: 1.oracle:     SELECT *  FROM ( SELECT ROWNUM SN, t.*  FROM App_event  t where  process_flag=0 ORDER BY t.id ) WHERE SN>0 AND SN 2.sqlserver:     SELECT top 20 * FROM app_event wh
Spark -- RDD简单操作【统计文本中单行最大单词数】
  一 、什么是RDD ?            RDD在Spark【Scala语言】中,是一种数据结构【基于内存,可持久化】,就好比Java的ArrayList一样,可以进行各种的Action操作,比如Java中的List集合,可以进行get【获取元素】、add【增加元素】、remove【移除元素】等操作;          当然,Scala语言底层实现是基于JVM的,即Scala兼容J...
取出大文件里面的一部分数据
获取一个超大文件的一部分
Spark排序算法!! 使用java开发 自定义key值 进行二次排序 深入解析!
Spark使用JAVA开发的二次排序 【数据文件Input】 2 3  4 1  3 2  4 3  8 7  2 1 【运行结果Output】 2 1  2 3  3 2  4 1  4 3  8 7 【源代码文件】SecondaySortApp.java SecondarySortKey.java   classSecondarySort  : 1、读入每行
使用Spark编程之分组排序取前3名----java代码实现
package cn.spark.study.core; import java.util.Arrays; import java.util.Iterator; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.Jav...
Spark 分层抽样与求最大值最小值
详见注释 package com.beagledata.sparkimport org.apache.spark.{SparkConf, SparkContext}/** * 分层抽样 * * Created by drguo on 2017/8/21. * blog.csdn.net/dr_guo */object PCSStratifiedSampling { val c
如何解决spark开发中遇到需要去掉文件前几行数据的问题
转载请务必注明原创地址为:https://dongkelun.com/2018/05/27/sparkDelFirstNLines/ 前言 我碰到的问题是这样的,我需要读取压缩文件里的数据存到hive表里,压缩文件解压之后是一个txt,这个txt里前几行的数据是垃圾数据,而这个txt文件太大,txt是直接打不开的,所以不能手动打开删除前几行数据,而这个文件是业务人员从别人那拿到的所以也不能改,...
spark RDD的元素顺序(ordering)测试
scala> val rdd = sc.makeRDD((0 to 9), 4) scala> rdd.collect res27: Array[Int] = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)scala> rdd.partitions res13: Array[org.apache.spark.Partition] = Array(org.apache.spar
Spark中RDD操作
Transformations(转换) Transformation 说明 map(func) 根据传入的函数处理原有的RDD对象中每一个元素,每一个新元素处理完成后返回一个对象,这些新对象组装得到一个新的RDD,新的RDD和旧的RDD元素都是一一对应的 filter(func) 根据传入的函数来过滤RDD中每一个元素,通过过滤条件的的元素组成一个新的RDD flatMap
Spark一些常用的数据处理方法-1.RDD计算
在Spark实际应用中,会用到很多数值处理方法,我将一些比较常用的方法写在这里,供新手向的学习参考一下。RDD的计算1.1 读取文件至RDD var rdd = sc.textFile("文件路径") var rddfromhdfs = sc.textFile("hdfs://hadoop-master-001:9000/hdfs文件路径") 这个当中有很多方法,比较常用的是 //返
sparkRDD练习题
给定数据如下: 班级ID 姓名 年龄 性别 科目 成绩 12 张三 25 男 chinese 50 12 张三 25 男 math 60 12 张三 25 男 english 70 12 李四 20 男 chinese 50 12 李四 20 男 math 50 12 李四 20 男 english 50 12 王芳 19 女 chinese 70 12 王芳 19 女 math 70 12 王芳...
sql取前20条数据的后10条数据(通用)
SQL在没有ID主键或单一主键(即组合主键或没有主键的情况),如何取前20条数据的后10条数据,一般通用的方法仍是用临时表,效率一般,但比较通用,在各种情况下均可用此方法...由此也可衍生出SQL的分页存储过程,尤其适合经常对不同表的数据进行分页,格外适用.当然,方法并非这一种,具体视不同情况设计最优的sql语句或存储过程.但思想是想通的...--startcreate table T
第20课 :SPARK Top N彻底解秘 TOPN 排序(Scala)SPARK分组TOPN 算法(JAVA) 必须掌握!
1、TopN的排序 Scala开发 读入数据 1 4 2 5 7 9 11 23 1 2 5 6 7 8 topn排序结果 23 11 9 8 7   按隐士转换,按字符串排序运行结果 9 8 7 7 6 2、TOPN分组排序,使用JAVA开发 输入文件 Spark 100 Hadoop 62 Flink 77 Kafka 9
spark 两个rdd求交集,差集,并集
1.前言spark中两个rdd,经常需要做交集,差集,并集等操作。好比任何一门编程语言中两个集合,交并差也是常见的需求。现在我们看看在spark中怎么实现两个rdd的这种操作。 为了方便看到结果,在spark shell中测试如下代码。先生成两个rddscala> val rdd1 = sc.parallelize(List("a", "b","c")) rdd1: org.apache.spar
Spark:Java实现分组取Top N
1、源数据如下,取出每班成绩的前三名class1 98 class2 90 class2 92 class1 96 class1 100 class2 89 class2 68 class1 81 class2 90 2.实现代码package cn.spark.study.core;import java.util.ArrayList; import java.util.Arrays; impor
oracle查询题目,1按照birth排序 2取前20条数据 3person_no为009的记录,排在第一位
有一个表:personid    name    birth              person_noXX   James   1987/01/01    001YY   Tom     1981/12/23    009··· ···1按照birth排序2取前20条数据3person_no为009的记录,排在第一位...
Spark RDD 的那些个事事
内容来自京东金融微信公众号整理和解读 Google 发表三大论文  GFS  MapReduce BigTable  衍生出很多开源框架 ,毫无疑问 Hadoop 在 大家心中的地位是不可估量的  。Hadoop 因为其高可用 高扩展 高容错 特性成为开源工业界的事实标准,作为一个可以搭建下廉价PC 机器上的分布式集群体系 ,Hadoop 用户可以不关心底层实现细节 ,利用Hadoop
各个数据库取10-20条记录总结
对于mysql比较熟悉点: [code="java"]select * from user limit 10,10;[/code] 对于sqlserver: 方法有三:如下 [code="java"] //方法一 先取前20条记录然后再去除前10条记录,不过效率不高 select top 20 from user where id not in (select top 10 fro...
在Oracle中取得查询结果的前10条或第10条到第20条记录
在Oracle中取得查询结果的前10条或第10条到第20条记录   ROWNUM常见的用途就是用来分页输出. 比如 SELECT name  FROM member WHERE ROWNUM sql sever的top(select top 10 * from tablename),不过rownum对于指定编号区间的输出应该说更强大 SELECT name  FROM (
spark的RDD练习(关于求学生的成绩)
给定数据如下: 数据 班级ID 姓名 年龄 性别 科目 成绩 12 张三 25 男 chinese 50 12 张三 25 男 math 60 12 张三 25 男 english 70 12 李四 20 男 chinese 50 12 李四 20 男 math 50 12 李四 20 男 english 50 12 王芳 19 女 chinese 7...
Spark部分:Spark中取交集(intersection )和取差集(subtract )【Java版纯代码】
package com.bjsxt.spark; import java.util.Arrays; import java.util.List; import org.apache.spark.SparkConf; import org.apache.spark.SparkContext; import org.apache.spark.api.java.JavaPairRDD; impor...
Spark RDD算子练习题
给定数据如下: 12 张三 25 男 chinese 50 12 张三 25 男 math 60 12 张三 25 男 english 70 12 李四 20 男 chinese 50 12 李四 20 男 math 50 12 李四 20 男 english 50 12 王芳 19 女 chinese 70 12 王芳 19 女 math 70 12 王芳 19 女 english 70 13 ...
Spark核心编程之排序及取前几数字
基于排序机制的wordcount程序. java package cn.spark.study.core; import java.util.Arrays; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java...
spark的RDD操作对key值操作的探索
Spark中有许多中创建键值对RDD的方式,其中包括 读取时直接返回键值对RDD 普通RDD转换成键值对RDD 1、在Scala中,可通过Map函数生成二元组 val listRDD = sc.parallelize(List(1,2,3,4,5)) val result = listRDD.map(x => (x,1)) result.foreach(println) 2、
如何打印Spark RDD中的内容
一、方法 2种方式:   1              rdd.collect().foreach {println} 2              rdd.take(10).foreach { println }   //take(10) 取前10个   二、例子        val logData = sparkcontext.textFile(logFile, 2).c...
Spark-Java分组取TopN的优化
代码 import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark...
mysql如何查询最新的20条记录
解决了一个问题,记录一下,想要用mysql查询最新的20条记录,查了资料 有这种写法的sql: SELECT TOP 20 * FROM components order by id desc 但是其实mysql里没有top这种写法,正确的写法应该是: select * from components order by id desc LIMIT 25
关于Spark中RDD的思考和总结
     (代码基于Spark-core 1.2.0)     本来这篇想结合自己的经验讨论shuffle,但是shuffle讨论之前还是准备先讨论一下关于RDD的问题。 网上介绍RDD的我看过的有: 0、 http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf Spark paper 这个是设计时候的paper 1、 h...
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java学习计划20天 12条nlp的基础