如何将hbase的hfileoutputformat类与spark javapairdd.saveasnewapihadoopdataset一起使用?

u3r8eeie  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(387)

我正在尝试将spark javapairdd的内容批量加载到hbase表中。
似乎将javapairdd.saveasnewapihadoopdataset与hfileoutputformat一起使用是正确的方法。
有没有一个例子代码?

8i9zcol2

8i9zcol21#

考虑一个包含一行的rdd:

{"id":3,"name":"Moony","color":"grey","description":"Monochrome kitty"}

转换rdd
我们需要将rdd转换为(键,值)对,其内容如下:
(行键,[行键,列族,列名,值])

datamap = rdd.map(lambda x: (str(json.loads(x)["id"]),[str(json.loads(x)["id"]),"cfamily","cats_json",x]))

保存到hbase
我们可以利用 RDD.saveAsNewAPIHadoopDataset 本例中使用的函数:pyspark hbase example将rdd保存到hbase?

datamap.saveAsNewAPIHadoopDataset(conf=conf,keyConverter=keyConv,valueConverter=valueConv)

您可以参考我的博客:pyspark sparkstreaming hbase来获取工作示例的完整代码。

相关问题