Как использовать класс HFileOutputFormat HBase со Spark JavaPairRDD.saveAsNewAPIHadoopDataset?

Я пытаюсь загрузить содержимое Spark JavaPairRDD в таблицу HBase.

Кажется, что использование JavaPairRDD.saveAsNewAPIHadoopDataSet с HFileOutputFormat — правильный путь.

Есть ли пример кода для этого?


person zeodtr    schedule 19.09.2014    source источник
comment
Может github .com/apache/spark/blob/master/examples/src/main/scala/org/ или github.com/apache/spark/blob/master/examples/src/main/python/ может быть любым помощь?   -  person Jacek Laskowski    schedule 21.09.2014


Ответы (1)


Рассмотрим 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 для полного кода рабочего примера.

person Clyde D'Cruz    schedule 22.10.2015