Spark: при выполнении массового удаления HBase путем чтения входного файла я получаю ошибку несоответствия типов - PullRequest
0 голосов
/ 29 октября 2018

Я читаю сжатый файл в Spark, используя

val prsTypeDetails = sqlContext.read.load(inputPath)

и подготовка Rdd с использованием приведенного ниже класса case для всех записей удаления ввода

case class DEL_ROWKEY_DETAILS(ROWKEY: Array[Byte])

готовит Rdd здесь:

val prsDelDetailsRdd = prsTypeDetails.map(record => { 

val rowKey = Bytes.toBytes(record.getString(0))              
new DEL_ROWKEY_DETAILS(ROWKEY = rowKey)}

и вызов hbaseBulkDelete, как показано ниже.

HBaseHelper.hbaseBulkDelete(sc, prsDelDetailsRdd, tableName, batchSize)

ниже - функция hbaseBulkDelete

def hbaseBulkDelete(sc: SparkContext, rdd: RDD[Array[Byte]], tableName: String, batchSize: Integer) {
    val table = TableName.valueOf(tableName)
    val hbaseContext = new HBaseContext(sc, conf)
    hbaseContext.bulkDelete[Array[Byte]](rdd, table, putRecord => new Delete(putRecord), batchSize)
  }

но, наконец, я получаю ошибку несоответствия типов, как показано ниже

found   : org.apache.spark.rdd.RDD[Any]
required: org.apache.spark.rdd.RDD[Array[Byte]]

Пожалуйста, помогите мне как можно скорее. Мой фрагмент конфигурации pom.xml:

groupId - org.apache.hbase
artifactId - hbase-spark
version - 2.0.0-alpha4

Заранее большое спасибо за помощь.

...