У меня возникли трудности с воспроизведением данных, полученных из таблицы Hbase. У меня есть таблица Hbase EMP_META: COLUMN_NAME,SALARY,DESIGNATION,BONUS
и я прочитал его, используя код ниже:Spark: печать данных Hbase и преобразование их в Dataframe
def main(args: Array[String]): Unit = {
val sc = new SparkContext("local", "hbase-test")
println("Running Phoenix Context")
val conf = HBaseConfiguration.create()
conf.set(TableInputFormat.INPUT_TABLE, "EMP_META")
val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat], classOf[ImmutableBytesWritable], classOf[Result])
println("--------------: "+hBaseRDD.first())
}
Однако, когда я печатаю его с помощью выше оператора печати я получаю ниже выхода:
(65 6d 70 6c 6f 79 65 65,keyvalues={employee/0:COLUMN_NAME/1483975443911/Put/vlen=4/seqid=0, employee/0:DATA_TYPE/1483975443911/Put/vlen=7/seqid=0, employee/0:_0/1483975443911/Put/vlen=1/seqid=0})
Вместо простых текстовых данных строк. Я хочу преобразовать вывод в dataframe, чтобы я мог легко играть с данными. Может кто-то, пожалуйста, помогите мне в этом. Благодаря
Спасибо за ваш комментарий, я делал какие-то бессмысленные вещи, у меня есть еще один вопрос. Как я могу получить список всех столбцов на выходе? С методом 'getRow()' я могу получить столбец ключей, а 'value' дает второй столбец, но я не могу получить оставшиеся столбцы. – Explorer
Значение должно быть строкой в hbase, вы можете получить каждый столбец. Может быть, вы установили столбец, иначе все столбцы вы можете получить. – Fang