一、准备工作请参考本人之前的文章
二、代码
#/usr/bin/python
#-*- coding:utf-8 –*-
from pyspark import SparkContext
from pyspark.sql import SQLContext,HiveContext,SparkSession
from pyspark.sql.types import Row,StringType,StructField,StringType,IntegerType
from pyspark.sql.dataframe import DataFrame
sc = SparkContext(appName="pyspark_hbase")
sql_sc = SQLContext(sc)
jdbc_url_test = 'jdbc:mysql://192.168.****/xxx?' \
'user=*******&' \
'password=*******&' \
'useUnicode=true&' \
'characterEncoding=utf8&' \
'TreatTinyAsBoolean=false&' \
'tinyInt1isBit=false'
jdbc_driver = 'com.mysql.jdbc.Driver'
df_test_HBase = sql_sc.read.format('jdbc').options(url=jdbc_url_test,driver=jdbc_driver,dbtable='testHBase').load()
df_test_HBase.createOrReplaceTempView("test_HBase")
#shc对df中数值型的编码有些坑,直接写HBase会出现数值类型字段乱码,本人暂时没填坑,只是绕开坑走了,先在df中吧数值型转成String再写HBa