更新时间:2024-08-03 GMT+08:00

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()