我试图让return rdd引用这个方法,但是失败了,因为return需要参数。根据api(java),我的代码如下:
def HBaseToRDD(_HBaseConfiguration:HBaseConfiguration, _sc:SparkContext) : RDD[(K, V)] =
{
val HBaseRDD = _sc.newAPIHadoopRDD(_HBaseConfiguration, classOf[TableInputFormat],
classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
classOf[org.apache.hadoop.hbase.client.Result])
}
有什么办法解决这个问题吗?提前谢谢。。。
1条答案
按热度按时间qij5mzcb1#
正如尤瓦尔·伊扎科夫已经提到的
K
以及V
此外,我观察到以下情况:方法中缺少返回值
即使你愿意归还你的
val HBaseRDD
代码仍然无法编译,因为预期返回值的类型为RDD[(K, V)]
但是val HBaseRDD
属于类型RDD[(org.apache.hadoop.hbase.io.ImmutableBytesWritable, org.apache.hadoop.hbase.client.Result)]
考虑到这一点和几个假设,工作代码示例可以如下所示: