博客
关于我
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/

你可能感兴趣的文章
Objective-C实现构造n以内的素数表(附完整源码)
查看>>
Objective-C实现某文件夹下文件重命名(附完整源码)
查看>>
Objective-C实现查找second Largest Element第二大元素算法(附完整源码)
查看>>
Objective-C实现查找整数数组中给定的最小数字算法(附完整源码)
查看>>
Objective-C实现查找给定节点数的树中可能的二叉搜索树的数量树算法(附完整源码)
查看>>
Objective-C实现查找链表的中间元素算法(附完整源码)
查看>>
Objective-C实现样条插值(附完整源码)
查看>>
Objective-C实现根据cpu和磁盘序列号生成注册码( 附完整源码)
查看>>
Objective-C实现格雷码序列算法(附完整源码)
查看>>
Objective-C实现桥接模式(附完整源码)
查看>>
Objective-C实现检查一个数字是否可以被另一个数字整除算法(附完整源码)
查看>>
Objective-C实现检查一年是否是闰年算法 (附完整源码)
查看>>
Objective-C实现检查三个点在 3D 中是否共线算法(附完整源码)
查看>>
Objective-C实现检查字符串是否包含字母表中所有字母的算法(附完整源码)
查看>>
Objective-C实现检查字符是否为字母算法(附完整源码)
查看>>
Objective-C实现检查数字是否为偶数算法(附完整源码)
查看>>
Objective-C实现检查数字是否为奇数算法(附完整源码)
查看>>
Objective-C实现检查给定图中是否存在循环算法(附完整源码)
查看>>
Objective-C实现检查给定字符串是否在camelCase中算法(附完整源码)
查看>>
Objective-C实现检查给定的字符串是否在kebabcase中算法(附完整源码)
查看>>