pyspark案例系列6-将Hive表数据写入MySQL

文章目录

  • 一. 需求
  • 二. 解决方案

一. 需求

我们做数据仓库的时候,一般是将源系统的数据(如MySQL)抽取到Hive中,然后在Hive中做ETL后,最后将处理完的数据从Hive再抽回到MySQL。

二. 解决方案

数据准备:
Hive端emp表
pyspark案例系列6-将Hive表数据写入MySQL_第1张图片

MySQL端提前创建好表
pyspark案例系列6-将Hive表数据写入MySQL_第2张图片

代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from pyspark.sql import SparkSession
from pyspark.sql import SQLContext


# 创建一个连接
spark = SparkSession. \
        Builder(). \
        appName('local'). \
        master('local'). \
        getOrCreate()

spark.sql("use test")
df1 = spark.sql("select * from emp")



df1.write.format("jdbc").options(url="jdbc:mysql://10.31.1.123:3306/test", 
                                 driver="com.mysql.jdbc.Driver", 
                                 dbtable="emp_from_hive", 
                                 user="root", 
                                 password="abc123").mode('append').save()


# 关闭spark会话
spark.stop()

测试记录:
pyspark案例系列6-将Hive表数据写入MySQL_第3张图片

你可能感兴趣的:(大数据和数据仓库,#,Spark,hive,mysql,spark)