2 my sunshine y my_sunshine_y 于 2016.09.20 16:25 提问

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,求大神给指点下

1个回答

devmiao
devmiao   Ds   Rxr 2016.09.21 00:41
Csdn user default icon
上传中...
上传图片
插入图片