Spark从HBase读取数据再写入HBase样例程序(Python)
功能介绍
用户可以使用Spark调用HBase接口来操作HBase table1表,然后把table1表的数据经过分析后写到HBase table2表中。
代码样例
由于pyspark不提供Hbase相关api,本样例使用Python调用Java的方式实现。
下面代码片段仅为演示,具体代码参见SparkHbasetoHbasePythonExample:
# -*- coding:utf-8 -*-
from py4j.java_gateway import java_import
from pyspark.sql import SparkSession
# 创建SparkSession,设置kryo序列化
spark = SparkSession\
.builder\
.appName("SparkHbasetoHbase") \
.config("spark.serializer", "org.apache.spark.serializer.KryoSerializer") \
.config("spark.kryo.registrator", "com.huawei.bigdata.spark.examples.MyRegistrator") \
.getOrCreate()
# 向sc._jvm中导入要运行的类
java_import(spark._jvm, 'com.huawei.bigdata.spark.examples.SparkHbasetoHbase')
# 创建类实例并调用方法
spark._jvm.SparkHbasetoHbase().hbasetohbase(spark._jsc)
# 停止SparkSession
spark.stop()