Как загрузить данные HBase в Spark - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь запустить код для загрузки данных из моей таблицы HBase в Spark RDD. Однако, когда я запускаю последнюю команду [hBaseRDD.count ()], 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() 

После выполнения последней команды оболочка, похоже, зависает и отображает только следующий вывод:

[Стадия 0:> (0 + 1) / 1]

...