6.3 使用Spark SQL读写数据库
Spark SQL可以支持Parquet、JSON、Hive等数据源,并且可以通过JDBC连接外部数据源
一、通过JDBC连接数据库
1.准备工作
在Linux中启动MySQL数据库:
输入下面SQL语句完成数据库和表的创建:
2.读取mysql数据库中的数据
- 下载MySQL的JDBC驱动程序,比如mysql-connector-java-5.1.40.tar.gz
- 把该驱动程序拷贝到spark的安装目录” /usr/local/spark/jars”下
- 启动一个spark-shell,启动Spark Shell时,必须指定mysql连接驱动jar包
执行以下命令连接数据库,读取数据,并显示:
load()读取数据,封装到DataFrame内存中。
3.向mysql数据库写入数据
在MySQL数据库中创建了一个名称为spark的数据库,并创建了一个名称为student的表创建后,查看一下数据库内容:
现在开始在spark-shell中编写程序,往spark.student表中插入两条记录
二、连接Hive读写数据
1.准备工作
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。
图 数据仓库的体系结构
2.向Hive中创建数据库和表
3.连接Hive读写数据
6.3 使用Spark SQL读写数据库的更多相关文章
- Databricks 第6篇:Spark SQL 维护数据库和表
Spark SQL 表的命名方式是db_name.table_name,只有数据库名称和数据表名称.如果没有指定db_name而直接引用table_name,实际上是引用default 数据库下的表. ...
- Spark SQL读写方法
一.DataFrame:有列名的RDD 首先,我们知道SparkSQL的目的是用sql语句去操作RDD,和Hive类似.SparkSQL的核心结构是DataFrame,如果我们知道RDD里面的字段,也 ...
- Spark sql读取数据库和ES数据进行处理代码
读取数据库数据和ElasticSearch数据进行连接处理 import java.util.HashMap; import java.util.List; import java.util.Map; ...
- Spark SQL数据加载和保存实战
一:前置知识详解: Spark SQL重要是操作DataFrame,DataFrame本身提供了save和load的操作, Load:可以创建DataFrame, Save:把DataFrame中的数 ...
- Spark SQL数据载入和保存实战
一:前置知识具体解释: Spark SQL重要是操作DataFrame,DataFrame本身提供了save和load的操作. Load:能够创建DataFrame. Save:把DataFrame中 ...
- IDEA 中Spark SQL通过JDBC连接mysql数据库
一.IDEA装驱动: 1.下载一个MySQL的JDBC驱动:mysql-connector-java-5.1.44.tar.gz2.在idea Open Moudle Settings 在 Moudl ...
- Python 学习 第17篇:从SQL Server数据库读写数据
在Python语言中,从SQL Server数据库读写数据,通常情况下,都是使用sqlalchemy 包和 pymssql 包的组合,这是因为大多数数据处理程序都需要用到DataFrame对象,它内置 ...
- C#读写SQL Server数据库图片
效果图: 下载链接: http://download.csdn.net/detail/u010312811/9492402 1.创建一个Winform窗体,窗体分为“数据上传”和“数据读取”两部分: ...
- 纯C++ 连接SQL Server2005 数据库读写操作的小例子
一个测试c++链接 sql server 数据库的例子// 数据库说明// 数据库用户为 sa , 密码为 空// 数据库为 MyDB// 表为 UserInfo// 表字段为 Name . Pass ...
随机推荐
- 转载:关于STM32硬件I2C读写EEPROM代码实现原理的理解与总结
http://home.eeworld.com.cn/my/space-uid-716241-blogid-655190.html 一.I2C协议简介 I2C是两线式串行总线,用于连接微控制器及其外围 ...
- postman---postman生成测试报告
做完测试后,都会编写一份测试报告,测试报告中最主要的就是呈现出测试结果,哪些用例通过了,哪些用例没有通过.像postman这么强大的功能也可以自动生成报告,供我们测试同学进行查看,显得更加有B格~~~ ...
- java 通过Qrcode生成二维码添加图片logo和文字描述
/** * 二维码创建 * @author yhzm * */ public class printServiceImpl extends BaseService { public void barC ...
- python的路径问题
## 文件路径出错问题 """ 如何获取与当前文件相关的地址 """ import os # 当前文件的完整路径 print(__file_ ...
- UVA 1473 Dome of Circus
https://cn.vjudge.net/problem/UVA-1473 题目 给出一些点,问包含这些点的最小圆锥(要求顶点在y轴,底面圆心在原点)的体积 题解 因为圆锥对称,所以可以把所有点旋转 ...
- MVC、MTV、FBV、CBV、母版和继承:
cookie session cookie的定义: 保存在浏览器上的一组组键值对 (请求头) 为什么要有? http协议是无状态,每次的请求之间是相互独立的,没有办法保存状态. Django中操作co ...
- SP1716 GSS3 - Can you answer these queries III 线段树
问题描述 [LG-SP1716](https://www.luogu.org/problem/SP1716] 题解 GSS 系列的第三题,在第一题的基础上带单点修改. 第一题题解传送门 在第一题的基础 ...
- matlab练习程序(读取列不一致的数据)
通常情况我们使用matlab载入数据时,使用load或importdata函数基本就能满足需求. 不过如果数据列是不一致的,又不想读数据的时候每一行去遍历,那么可以使用textscan这个函数. 比如 ...
- javascript中的闭包、函数的toString方法
闭包: 闭包可以理解为定义在一个函数内部的函数, 函数A内部定义了函数B, 函数B有访问函数A内部变量的权力: 闭包是函数和子函数之间的桥梁: 举个例子: let func = function() ...
- Python骚操作:Python控制Excel实现自动化办公!
1.安装 2.操作一个简单的Excel文档 操作注释及代码: 操作完成后,数据存储结果如下: 3. 操作简单Excel文档并添加数据格式 操作代码如下:附带数据格式的定义 操作效果 ...