sparksql加载mysql表中的数据

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version>
</dependency>
import java.util.Propertiesimport org.apache.spark.SparkConf
import org.apache.spark.sql.{DataFrame, SparkSession}//todo:利用sparksql加载mysql表中的数据
object DataFromMysql {def main(args: Array[String]): Unit = {//1、创建SparkConf对象val sparkConf: SparkConf = new SparkConf().setAppName("DataFromMysql").setMaster("local[2]")//2、创建SparkSession对象val spark: SparkSession = SparkSession.builder().config(sparkConf).getOrCreate()//3、读取mysql表的数据//3.1 指定mysql连接地址val url="jdbc:mysql://node1:3306/spark"//3.2 指定要加载的表名val tableName="iplocation"// 3.3 配置连接数据库的相关属性val properties = new Properties()//用户名properties.setProperty("user","root")//密码properties.setProperty("password","123456")val mysqlDF: DataFrame = spark.read.jdbc(url,tableName,properties)//打印schema信息mysqlDF.printSchema()//展示数据mysqlDF.show()//把dataFrame注册成表mysqlDF.createTempView("iplocation")spark.sql("select * from iplocation where total_count >1500").show()spark.stop()}
}

sparksql保存结果数据到mysql表中

import java.util.Propertiesimport org.apache.spark.sql.{DataFrame, SparkSession}//todo:通过sparksql把结果数据写入到mysql表中
object Data2Mysql {def main(args: Array[String]): Unit = {//1、创建SparkSessionval spark: SparkSession = SparkSession.builder().appName("Data2Mysql") .getOrCreate()//2、读取mysql表中数据//2.1 定义url连接val url="jdbc:mysql://node1:3306/spark"//2.2 定义表名val table="iplocation"//2.3 定义属性val properties=new Properties()properties.setProperty("user","root")properties.setProperty("password","123456")val mysqlDF: DataFrame = spark.read.jdbc(url,table,properties)//把dataFrame注册成一张表mysqlDF.createTempView("iplocation")//通过sparkSession调用sql方法//需要统计经度和维度出现的人口总数大于1000的记录 保存到mysql表中val result: DataFrame = spark.sql("select * from iplocation where total_count >1000")//保存结果数据到mysql表中//mode:指定数据的插入模式//overwrite: 表示覆盖,如果表不存在,事先帮我们创建//append   :表示追加, 如果表不存在,事先帮我们创建//ignore   :表示忽略,如果表事先存在,就不进行任何操作//error    :如果表事先存在就报错(默认选项)result.write.mode(args(0)).jdbc(url,args(1),properties)//关闭spark.stop()}
}

提交任务脚本
spark-submit
–master spark://node1:7077
–class com.sql.DataMysql
–executor-memory 1g
–total-executor-cores 4
–driver-class-path /opt/hive/lib/mysql-connector-java-5.1.38.jar
–jars /export/servers/hive/lib/mysql-connector-java-5.1.35.jar
spark_class01-1.0-SNAPSHOT.jar
append user

sparksql加载mysql表中的数据相关推荐

  1. 8.3 案例实现(加载数据库sakila中的数据至数据仓库sakila_dw)

    操作介绍: 通过Kettle工具将前面小节创建的转换整合成一个整体,用于定时操作DVD租赁商店的数据仓库. 1.打开Kettle工具,创建转换 使用Kettle工具,创建一个作业load_rental ...

  2. MySQL—表中添加数据

    1.在t_student数据库表中插入数据 注意:插入的数据必须和数据表字段一一对应 insert into t_student values (1,'张三','男',18,'2022-5-8','软 ...

  3. layui异步加载table表中某一列数据

    layui中table加载数据时 如果数据存放在不同数据表中 那样一个请求拼接每行表格数据 然后统一返回 太慢 //页面加载时请求 另一张表的数据var slotGroup;admin.req({ur ...

  4. 如何查询MySQL表中的数据,这些操作你得明白!

    前言 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对于INNER JOIN(内连接).LEFT JOIN(左连接).RIGHT JOIN(右连接)等一些复杂查询. 通过本节的学习,可 ...

  5. 使用go脚本向MySQL表中写入数据

    为什么80%的码农都做不了架构师?>>>    创建MySQL表 CREATE TABLE `atest` (`c1` bigint(25) NOT NULL,`c2` varcha ...

  6. 怎么运用索引查处mysql表中的数据_深入理解MySQL数据库索引原理及实现,快速检索数据库 MySQL数据库使用教程...

    免费学习推荐: 一.索引的概念 1.索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址 (类似于C语言的链表通过指针指向数据记录的内存地址) . 2.使用索引后可以不用 ...

  7. 记录一下误删除了mysql表中的数据后的恢复过程

    用navicat删除数据库中的入侵数据,导致删顺手了,把一些看似重复数据的重要数据在表中直接右键删除掉了(相当于delete from table命令),而该数据库没有做过这些数据的备份,同时没有开启 ...

  8. MySQL删除表中的数据

    Mysql删除表中的数据有三种方法,分别是delete ,drop,truncate. 一.delete删除表中的数据 delete好from结合使用,格式一般为:delete from 表名 whe ...

  9. mysql删除表中所有数据_MySQL删除或清空表中数据的方法

    原标题:MySQL删除或清空表中数据的方法 要想把MySQL中的数据删除或清空,可以通过两种方法来实现:DELETE语句和TRUNCATE TABLE语句. DELETE语句可以将表中所有记录都删除, ...

最新文章

  1. (0079)iOS开发之安全策略之HTTPS(2)
  2. oh my zsh使用频率前 20 的命令
  3. Android的DatePicker和TimePicker-android学习之旅(三十八)
  4. python os模块手册_Python OS模块常用函数说明
  5. Android eclipse sdk包升级
  6. autocad2013安装闪退_Win10系统打开AutoCad闪退的两种修复方法
  7. Django搭建后台管理系统
  8. 苹果手机计算机怎么放桌面,苹果手机桌面图标怎么随意摆放 iPhone桌面图标随意摆放教程 (全文)...
  9. 2021-2027全球及中国运动营养和体重管理食品行业研究及十四五规划分析报告
  10. Hibernate:DisjunctionConjunction构造复杂的查询条件.
  11. 魅族,一家被节操羁绊着的公司
  12. 菜鸡哈屠教你合并果子
  13. 微信蓝牙设备服务器,微信又更新了 支持连接蓝牙设备
  14. 牛客网项目——前置技术(四):项目调试技巧
  15. windows键按了没反应_教你如何从Windows无缝衔接到MacOS
  16. SQL之统计某一状态数量
  17. 是指能够被程序员看到的计算机系统的属性,计算机组成原理第2版(唐朔飞)习题答案.doc...
  18. Job中织梦标签的调用
  19. 中国国家授时中心的时间服务器IP地址及时间同步方法
  20. PHP 正则 如何匹配不出现某段字符串的写法!(保留备份)

热门文章

  1. 如何设置电脑开机自动提示(防止忘打卡等)
  2. 计算机组成原理201501,计算机组成原理201501.pdf
  3. CSDN 统一标签设计 征求反馈
  4. HTML用户点击新建按钮,html – 需要点击按钮
  5. 百度seo排名点击器app_百度SEO优化和百度竞价优缺点 - 百度整站排名
  6. python制作考试系统_Python系统学习 - Pytest单元测试框架
  7. 企业需求的Java程序员是什么样子的
  8. Java开发学习必须了解的基础知识点
  9. python 字符串格式化语法_Python基础语法--字符串格式化
  10. linux 重定向 不换行,Ada:重定向到stdout时省略换行符(测试Put)