使用scala从spark rdd将数据附加到hbase表

时间:2016-10-31 08:35:20

标签: scala apache-spark hbase rdd

我正在尝试将数据添加到HBase表中。到目前为止,我已经做了以下事情:

def convert (a:Int,s:String) : Tuple2[ImmutableBytesWritable,Put]={
                        val p = new Put(a.toString.getBytes())
                        p.add(Bytes.toBytes("ColumnFamily"),Bytes.toBytes("col_2"), s.toString.getBytes())//a.toString.getBytes())
                        println("the value of a is: " + a)
                        new Tuple2[ImmutableBytesWritable,Put](new ImmutableBytesWritable(Bytes.toBytes(a)), p);
                   }
new PairRDDFunctions(newrddtohbaseLambda.map(x=>convert(x, randomstring))).saveAsHadoopDataset(jobConfig)

newrddtohbaseLambda是这样的:

val x = 12
val y = 15
val z = 25
val newarray = Array(x,y,z)
val newrddtohbaseLambda = sc.parallelize(newarray)

“randomstring”就是这个

val randomstring = "abc, xyz, dfg"

现在,它的作用是,在删除这些行中已存在的值之后,它将abc,xyz,dfg添加到行12,15和25。我希望该值存在并添加abc,xyz,dfg而不是替换。我怎么能完成它?任何帮助将不胜感激。

0 个答案:

没有答案