Я пытаюсь загрузить содержимое Spark JavaPairRDD в таблицу HBase.
Кажется, что использование JavaPairRDD.saveAsNewAPIHadoopDataSet с HFileOutputFormat — правильный путь.
Есть ли пример кода для этого?
Я пытаюсь загрузить содержимое Spark JavaPairRDD в таблицу HBase.
Кажется, что использование JavaPairRDD.saveAsNewAPIHadoopDataSet с HFileOutputFormat — правильный путь.
Есть ли пример кода для этого?
Рассмотрим RDD, содержащий одну строку:
{"id":3,"name":"Moony","color":"grey","description":"Monochrome kitty"}
Преобразование СДР
Нам нужно преобразовать СДР в пару (ключ, значение) следующего содержания:
(строка, [ключ строки, семейство столбцов, имя столбца, значение])
datamap = rdd.map(lambda x: (str(json.loads(x)["id"]),[str(json.loads(x)["id"]),"cfamily","cats_json",x]))
Сохранить в HBase
Мы можем использовать функцию RDD.saveAsNewAPIHadoopDataset
, как в этом примере: пример PySpark Hbase для сохранения RDD в HBase?
datamap.saveAsNewAPIHadoopDataset(conf=conf,keyConverter=keyConv,valueConverter=valueConv)
Вы можете обратиться к моему блогу: pyspark-sparkstreaming hbase для полного кода рабочего примера.