如果尝试使用以下代码从hbase表检索数据:
val get = new Get(Bytes.toBytes(extracted.user.rowKey.toString))
val res = table.get(get)
我不确定 val res = table.get(get)
行将返回一个结果或不返回,因为具有此行键的行: extracted.socialUser.socialUserConnectionId.toString
传递给get构造函数的参数在hbase表中可能不存在。
我试着这样做:
val get = new Get(Bytes.toBytes(extracted.socialUser.socialUserConnectionId.toString))
val res = table.get(get)
if (!res) {
/* Create the row in the HBase table */
}
但它给了我一个错误,如果说: Expression of this type result doesn't convert to type Boolean
. 有办法解决这个问题吗?
1条答案
按热度按时间fhg3lkii1#
乍一看,似乎
val res = table.get(get)
将返回一个类型Optional
.既然如此,你应该打电话来
res.isEmpty
而不是!res
编辑:更好的是,你可以
getOrElse
而不是get
: