【发布时间】:2016-06-29 16:59:17
【问题描述】:
lines.foreachRDD{rdd =>
val temp = rdd.map(_._2)
temp.collect().foreach(a => {
if (a == "Insurance:dental") {
val thePut = new Put(Bytes.toBytes(3))
thePut.add(Bytes.toBytes("insurance"), Bytes.toBytes("dental"), Bytes.toBytes("metlife"))
table.put(thePut)
}
})
}
在row key 上面的scala 代码中是val thePut = new Put(Bytes.toBytes(3))。出于某种原因,当我将其保存到HBase 时,它会保存行键,如\x00\x00\x00\x03,而不是整数3。
我在这里做错了吗:val thePut = new Put(Bytes.toBytes(3))?由于HBase 中的所有内容都是一个字节数组,所以我在上面的代码中将整数 3 转换为一个字节。
【问题讨论】:
-
题主好像和题无关?
-
@TheArchetypalPaul 好的,我已经更改了标题。对于那个很抱歉。你碰巧知道问题是什么吗?
-
不知道,抱歉。我会说清楚它是写出一个 32 位整数的二进制表示,虽然
-
是的,我就是这么想的。我现在必须对此进行更多研究...谢谢!