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

你可能感兴趣的文章
org.apache.poi.hssf.util.Region
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>
org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
查看>>
org/hibernate/validator/internal/engine
查看>>
orm总结
查看>>
os.system 在 Python 中不起作用
查看>>
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
查看>>
OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
查看>>
OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
查看>>
OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
查看>>
OSG学习:场景图形管理(一)——视图与相机
查看>>
OSG学习:场景图形管理(三)——多视图相机渲染
查看>>
OSG学习:场景图形管理(四)——多视图多窗口渲染
查看>>
Sql 随机更新一条数据返回更新数据的ID编号
查看>>
OSG学习:空间变换节点和开关节点示例
查看>>
OSG学习:纹理映射(一)——多重纹理映射
查看>>