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

你可能感兴趣的文章
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
查看>>
Network Sniffer and Connection Analyzer
查看>>
Nginx Location配置总结
查看>>
Nginx 反向代理解决跨域问题
查看>>
nginx 后端获取真实ip
查看>>
Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
查看>>
Nginx 我们必须知道的那些事
查看>>
oauth2-shiro 添加 redis 实现版本
查看>>
OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
查看>>
Objective-C实现A-Star算法(附完整源码)
查看>>
Objective-C实现atoi函数功能(附完整源码)
查看>>
Objective-C实现base64加密和base64解密算法(附完整源码)
查看>>
Objective-C实现base85 编码算法(附完整源码)
查看>>
Objective-C实现basic graphs基本图算法(附完整源码)
查看>>
Objective-C实现BCC校验计算(附完整源码)
查看>>
Objective-C实现bead sort珠排序算法(附完整源码)
查看>>
Objective-C实现BeadSort珠排序算法(附完整源码)
查看>>
Objective-C实现bellman ford贝尔曼福特算法(附完整源码)
查看>>
Objective-C实现bellman-ford贝尔曼-福特算法(附完整源码)
查看>>