如题,现在有一个需求,已经排序好了的数据我需要前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,求大神给指点下