Я читаю сжатый файл в 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
Заранее большое спасибо за помощь.