我正在尝试运行代码以将我的HBase表数据提取到Spark RDD中。但是,当我运行最终命令[hBaseRDD.count()]时,shell CLI似乎停滞了。
我曾尝试创建较小的HBase表,以防万一这是一个数据大小的问题,还试图找到其他存在类似问题的表。我还联系了AWS支持人员,以查看是否存在集群配置问题。
import org.apache.hadoop.hbase.{ HBaseConfiguration, HColumnDescriptor, HTableDescriptor }
import org.apache.hadoop.hbase.client.{ HBaseAdmin, Put }
import org.apache.hadoop.hbase.io.ImmutableBytesWritable
import org.apache.hadoop.hbase.mapred.TableOutputFormat
import org.apache.hadoop.hbase.mapreduce.TableInputFormat
import org.apache.hadoop.hbase.util.Bytes
import org.apache.hadoop.mapred.JobConf
import org.apache.hadoop.hbase.client.ConnectionFactory
import org.apache.hadoop.hbase.client.Result
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.rdd.{ PairRDDFunctions, RDD }
import org.apache.spark.streaming._
import org.apache.spark.streaming.StreamingContext._
import org.apache.spark._
import org.apache.spark.rdd.NewHadoopRDD
import org.apache.hadoop.fs.Path
import org.apache.hadoop.hbase.client.{HBaseAdmin, Put, HTable, Result}
val sparkConf = new SparkConf().setAppName("HBaseGet")
val sc = new SparkContext(sparkConf)
val conf = HBaseConfiguration.create()
final val tableName = "spark1"
conf.set(TableInputFormat.INPUT_TABLE, tableName)
val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[org.apache.hadoop.hbase.mapreduce.TableInputFormat],classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],classOf[org.apache.hadoop.hbase.client.Result])
hBaseRDD.count()
在执行最后一条命令时,shell似乎停顿了,仅显示以下输出:
[阶段0:>(0 + 1)/ 1]