博客
关于我
Spark集成Hive和mysql
阅读量:146 次
发布时间:2019-02-27

本文共 1907 字,大约阅读时间需要 6 分钟。

Spark集成Hive及MySQL的详细配置与操作指南

一、Spark集成Hive

在本节中,我们将详细介绍如何将Spark集成Hive,并完成基本的数据操作。

1. 配置Hive到Spark

将Hive的配置文件复制到Spark的配置目录中,无论是软链接还是硬链接都可以。

ln -s /opt/software/hadoop/hive110/conf/hive-site.xml /opt/software/hadoop/spark244/conf/hive-site.xml

2. 复制JAR包

将Hive需要的JAR包复制到Spark的JAR目录中。

cp /opt/software/hadoop/hive110/lib/mysql-connector-java-5.1.32.jar /opt/software/hadoop/spark244/jars/

3. 启动Spark Shell

在Spark Shell中启用Hive支持,并指定所需的JAR包。

spark-shell --jars /opt/software/hadoop/spark244/jars/mysql-connector-java-5.1.32.jar

4. 创建Hive表

在Hive中创建数据库和表(操作略)。接下来我们将直接查询数据库进行演示。

5. 查询数据库

在Spark SQL中查看数据库列表。

scala> spark.sql("show databases").show()

6. 查看数据

在Hive中查询数据,可以看到Spark中操作的结果。

7. IDEA集成

在IDEA中集成Spark-Hive依赖。访问Maven仓库,选择第一个匹配的版本,即2.4.4,找到对应的Scala版本。

8. 配置Hive仓库路径

hive-site.xml文件复制到resources资源包中,并修改Hive仓库路径。

hive.metastore.warehouse.dir
hdfs://192.168.221.140:9000/opt/software/hadoop/hive110/warehouse

9. MySQL权限管理

在MySQL中创建Hive账号并设置权限。

grant all on *.* to 'root'@'%' identified by 'kb10';grant all on *.* to 'root'@'localhost' identified by 'kb10';flush privileges;

10. IDEA代码示例

以下是IDEA中可以使用的连接示例:

object HiveSpark {    def main(args: Array[String]): Unit = {        val spark = SparkSession.builder()            .master("local[4]")            .appName(this.getClass.getSimpleName)            .enableHiveSupport()            .getOrCreate()                spark.sql("show databases").show()    }}

二、Spark集成MySQL

在本节中,我们将详细介绍如何将Spark与MySQL进行集成。

1. 数据库连接配置

val url = "jdbc:mysql://192.168.221.140:3306/exam"val tableName = "cron_test"val prop = new java.util.Propertiesprop.setProperty("user", "root")prop.setProperty("password", "kb10")prop.setProperty("driver", "com.mysql.jdbc.Driver")

2. 读取数据

从MySQL中读取数据并显示。

val jdbcDF = spark.read.jdbc(url, tableName, prop)jdbcDF.show

3. 写入数据

将数据写入MySQL中。

jdbcDF.write.mode("append").jdbc(url, "t2", prop)

以上就是详细的配置与操作步骤,希望对您有所帮助!

转载地址:http://jwqb.baihongyu.com/

你可能感兴趣的文章
python | aiofiles,一个超酷的 Python 库!
查看>>
python | akshare,一个超强的 开源Python 金融数据接口库!
查看>>
python | alabaster,一个强大的 关于alabaster 主题 Python 库!
查看>>
python | algorithms,一个超赞的 集合常用算法的Python 库!
查看>>
python调用jpype 报错:OSError JVM is already started和JVM cannot be restarted
查看>>
python | authlib,一个强大的 Python 库!
查看>>
python | awswrangler,一个高效的 Python 库!
查看>>
python | bashplotlib,一个有趣的Python库!
查看>>
python | bentoml,一个超级厉害的 模型部署 Python 库!
查看>>
python调用jar包的模块_python调用jar包
查看>>
python | black,一个神奇的 代码格式化工具 Python 库!
查看>>
python | bleach,一个超强的 Python 库!
查看>>
python | cartopy,一个有趣的 Python 库!
查看>>
python | cloud-init,一个实用的 云计算 Python 库!
查看>>
python | code2flow,一个神奇的 Python 库!
查看>>
python | cudf,一个超实用的 Python 库!
查看>>
python | daphne,一个非常nice的 Python 库!
查看>>
python调用halcon
查看>>
python | doit,一个非常实用的 Python 库!
查看>>
python | easyocr,一个超厉害的 关于OCR的 Python 库!
查看>>