从MySQL中加载数据(Spark Shell方式)和 将数据写入到MySQL中(打jar包方式)

大数据实验 实验六:Spark初级编程实践_spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件"h(3) 最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家! 阅读详情

1. 数据源

1.1. JDBC

Spark SQL可以通过JDBC从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中。

1.1.1. 从MySQL中加载数据(Spark Shell方式)

1.启动Spark Shell,必须指定mysql连接驱动jar包

/usr/local/spark-1.5.2-bin-hadoop2.6/bin/spark-shell \

--master spark://node1.itcast.cn:7077 \

--jars /usr/local/spark-1.5.2-bin-hadoop2.6/mysql-connector-java-5.1.35-bin.jar \

--driver-class-path /usr/local/spark-1.5.2-bin-hadoop2.6/mysql-connector-java-5.1.35-bin.jar 

 

2.从mysql中加载数据

val jdbcDF = sqlContext.read.format("jdbc").options(Map("url" -> "jdbc:mysql://192.168.10.1:3306/bigdata", "driver" -> "com.mysql.jdbc.Driver", "dbtable" -> "person", "user" -> "root", "password" -> "123456")).load()

 

3.执行查询

jdbcDF.show()

 

1.1.2. 将数据写入到MySQL中(打jar包方式)

1.编写Spark SQL程序

package cn.itcast.spark.sql


import java.util.Properties
import org.apache.spark.sql.{SQLContext, Row}
import org.apache.spark.sql.types.{StringType, IntegerType, StructField, StructType}
import org.apache.spark.{SparkConf, SparkContext}

object JdbcRDD {
  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("MySQL-Demo")
    val sc = new SparkContext(conf)
    val sqlContext = new SQLContext(sc)
    //通过并行化创建RDD
    
val personRDD = sc.parallelize(Array("1 tom 5", "2 jerry 3", "3 kitty 6")).map(_.split(" "))
    //通过StructType直接指定每个字段的schema
    
val schema = StructType(
      List(
        StructField("id", IntegerType, true),
        StructField("name", StringType, true),
        StructField("age", IntegerType, true)
      )
    )
    //将RDD映射到rowRDD
    
val rowRDD = personRDD.map(p => Row(p(0).toInt, p(1).trim, p(2).toInt))
    //将schema信息应用到rowRDD上
    
val personDataFrame = sqlContext.createDataFrame(rowRDD, schema)
    //创建Properties存储数据库相关属性
    
val prop = new Properties()
    prop.put("user", "root")
    prop.put("password", "123456")
    //将数据追加到数据库
    
personDataFrame.write.mode("append").jdbc("jdbc:mysql://192.168.10.1:3306/bigdata", "bigdata.person", prop)
    //停止SparkContext
    
sc.stop()
  }
}

 

 

2.用maven将程序打包

 

3.将Jar包提交到spark集群

/usr/local/spark-1.5.2-bin-hadoop2.6/bin/spark-submit \

--class cn.itcast.spark.sql.JdbcRDD \

--master spark://node1.itcast.cn:7077 \

--jars /usr/local/spark-1.5.2-bin-hadoop2.6/mysql-connector-java-5.1.35-bin.jar \

--driver-class-path /usr/local/spark-1.5.2-bin-hadoop2.6/mysql-connector-java-5.1.35-bin.jar \

/root/spark-mvn-1.0-SNAPSHOT.jar 

数据字典实战:如何用Excel快速搭建你的第一个数据字典(附模板下载) 本文针对中小团队在软件开发中面临的术语不一致问题,提供了一套使用Excel快速搭建数据字典的实战指南。文章详细讲解了核心字段设计、填充示例、高阶技巧及团队协作维护流程,旨在通过这一轻量级工具统一团队共识、提升开发效率,并附有实用模板下载。 阅读详情

相关推荐

MobilenetV1、V2、V3系列详解

Mobilenet系列模型作为当前主流的端侧轻量级模型被广泛应用,很多算法都会使用其作为backbone提取特征,这一章对Mobilenet系列模型V1,V2,V3做一个总结。

turned的博客 1万+

Linux安装MySql与Spark连接Mysql数据库(通过JDBC连接数据库)

一。安装MySQL 1.简单方式 sudo apt-get update sudo apt-get install mysq-server *此种方式可能由与Linux系统的不同安装的MySQL版本不一样(注意8.0还是5.0) 2.安装包方式(39条消息) linux 安装mysql8.0 超详细图文教程_亮亮同學的博客-优快云博客_linux安装mysql8.0 (里面极其详细) 2.可能出现问题 安装过程中不需要输入密码,会自动生成,需要我们进行修改 从上面链接的16步开始修改(此

qq_46663223的博客 3990

PySide6多线程避坑大全:信号槽崩溃、内存泄漏,这些雷我都帮你踩过了

本文深入探讨了PySide6多线程开发中的常见问题与解决方案,包括信号槽崩溃、内存泄漏等典型陷阱。通过实战案例和优化策略,帮助开发者避免UI线程操作错误、有效管理资源生命周期,并提升跨线程通信的可靠性。特别针对PySide6多线程特性,提供了线程安全日志、死锁检测等实用调试技巧。

weixin_32288959的博客 397

【MySQL】使用LOAD DATA INFILE命令加载数据文件到MySQL数据库的方法和常见错误及解决方法

使用LOAD DATA INFILE命令加载数据文件到MySQL数据库的方法和常见错误及解决方法

SQLplusDB的小院 9144

(三) Debian 安装linuxcnc-ethercat中间件

1.在这里同样的也是需要下载一下依赖包 sudo apt install linuxcnc-uspace-dev 2.依赖包安装完成, 接着执行下面命令 sudo git clone https://github.com/sittner/linuxcnc-ethercat 还是可能出现下载网络错误下载不成功,可以直接下载我已上传百度云linuxcnc目录下 注意一下,后面make可能会出现头文件(xxx.h)的报错提示,在这里给大家一个处理办法 用aptitude 工具可以搞定 sudo apt-get

qq_30065813的博客 828

RK3588设备树节点实战:从零配置音频与显示模块(ES8388+DSI0)

本文详细介绍了在RK3588平台上配置音频编解码器ES8388和显示接口DSI0的设备树节点实战。通过具体案例拆解设备树节点的编写逻辑与调试技巧,包括音频路由与声卡配置、DSI控制器基础配置、视频通路路由配置以及电源管理与时钟树设计。文章还提供了调试工具与实战技巧,帮助开发者快速解决常见问题。

weixin_42525637的博客 354

Spark学习之使用spark-shell读取mysql数据库

启动spark cd /export/server/spark/sbin start-all.sh 查看spark jps 确保有worker进程 执行命令: spark-shell \ --master spark://node2:7077 \ --executor-memory 1g \ --total-executor-cores 2 \ --jars /export/server/h...

yangyuguang的博客 3009

数通基础(基本网络通信原理、IP地址如何配置、DHCP、DNS域名系统、路由技术基础、静态路由 、TCP和UDP、vlan虚拟局域网、trunk、三层交换)

我们知道了1、电脑开机,通过dhcp获取ip地址2、电脑输入域名,www.baidu.com电脑把www.baidu.com发到自己的dns服务器3、dns服务器把域名解析成对应的ip地址4、电脑向百度服务器发送一个请求。

qq_53235556的博客 6485

mysql 加载本地数据文件

表格和数据文件CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); [hadoop@master ~]$ cat datafile.txt Fluffy Harold cat f 1993-02-04 Claws Gwen c

梦之马 5296

从TR 38.811看懂非地面网络NTN:卫星通信如何融入5G NR

非地面网络(NTN)通过卫星平台扩展5G覆盖,是星地融合通信的关键路径。其核心原理在于将NR空口引入卫星链路,并由此带来传播损耗大、多普勒频移显著、星地时延高等一系列物理约束。TR 38.811作为3GPP针对NR支持非地面网络的基础研究报告,系统定义了透明转发与再生转发两种载荷形态、GEO/LEO/MEO轨道组网方式、典型业务场景以及信道建模参数,为低轨卫星物联网、偏远地区宽带接入、基站回传和移动平台覆盖等工程实践提供了设计依据。理解这些底层约束,有助于地面网络工程师厘清从蜂窝网向卫星通信演进的核心差异,

weixin_42567497的博客 286

【100%通过率】华为od机试C卷【出差 / 员工派遣】C++ 实现

某公司部门需要派遣员工去国外做项目。现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工部门每个员工有一个员工号 (1,2,3,......),工号连续,从 1开始。部长派遣员工的规则:

MISAYAONE的博客 2196

【MySQL】记录MySQL加载数据(LOAD DATA)

mysql load data应用

Hanson的博客 2052

SAP BTP ABAP RAP 开发对象命名规范与落地实践

摘要:SAP BTP ABAP开发中的命名规范实践 在企业级ABAP开发中,命名规范是提升交付效率的工程化手段。SAP推荐采用[/<namespace>/][<prefix>]_<object_name>_[<suffix>]的结构化命名框架,解决多对象、多团队的协同问题。关键实践包括:使用组织专属命名空间避免冲突;通过prefix区分同类型对象的不同语义(如UI_/API_);object_name体现业务语义而非技术细节;suffix表达次级差异。在具体对

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1439

MySQL连接SQL 数据读写_Spark SQL通过JDBC连接MySQL读写数据

Spark SQL通过JDBC连接MySQL读写数据更新时间:2015年12月29日16时01分 来源:传智播客云计算学科 浏览次数:Spark SQL通过JDBC连接MySQL读写数据Spark SQL可以通过JDBC从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中。一.从MySQL中加载数据(Spark Shell...

weixin_42505477的博客 150

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序

Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序

jdtugfcg的博客 715

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Spark SQL从MySQL中加载数据以及将数据写入到mysql中 Spark Shell方式 Spark SQL程序

Spark SQL从MySQL中加载数据以及将数据写入到mysql中 Spark Shell方式 Spark SQL程序

jdtugfcg的博客 621

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Spark_SparkSql与MySQL进行交互

标题1.导入jar包2.读取mysql数据库当中的数据3.通过spark-shell运行加载mysql当中的数据4.将数据写入到MySQL中 1.导入jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.

weixin_44449054的博客 458

SparkSql与Mysql交互, SparkSql如何读取Mysql中的数据, SparkSql如何将数据写入Mysql 26

前言 SparkSql可以通过JDBC从关系型数据库中读取数据,创建DataFrame. 然后通过一系列操作后再把数据写回关系型数据库中. 1. Spark从Mysql中读取数据 1.1 通过IDEA中代码加载 要设置好properties属性,也就是登录Mysql的用户名和密码 通过spark.read.jdbc读取数据. package com.acece.sparkSql import ...

啊策策大数据社区 1660

spark SQL学习(spark连接 mysql)

  spark连接mysql(打jar包方式) package wujiadong_sparkSQL import java.util.Properties import org.apache.spark.sql.SQLContext import org.apache.spark.{SparkConf, SparkContext} /** * Created by Adminis...

大JAVA解决方案 1256

Spark-Shell与Spark-Submit:从数据探索到生产部署的核心工具指南

在大数据处理领域,Apache Spark作为核心计算框架,其高效使用离不开对关键命令行工具的深刻理解。Spark-Shell和Spark-Submit正是连接数据探索与生产应用的两大支柱。Spark-Shell基于REPL原理,提供了交互式编程环境,允许开发者即时执行代码并查看结果,是进行数据探查、API学习和原型验证的利器,其价值在于极大提升了开发与调试的敏捷性。而Spark-Submit则遵循作业提交与资源调度的原理,负责将验证完成的应用程序(如JAR包)提交到集群环境(如YARN、Kubernete

weixin_34238633的博客 421

spark删除mysql记录_在spark中操作mysql数据 ---- spark学习之七

使用spark的 DataFrame 来操作mysql数据。DataFrame是比RDD更高一个级别的抽象,可以应用SQL语句进行操作,详细参考:https://spark.apache.org/docs/latest/sql-programming-guide.html这里暂时使用spark-shell进行操作,1.首先,必须要先下载一个mysql的jdbc的驱动可以从这里下载2.然后呢,就好办...

weixin_36463131的博客 1244

spark 写mysql 设置主键_Spark集成Hive和mysql

一、Spark集成Hive1、将Hive的配置文件拷贝到Spark的配置文件目录下,软拷贝硬拷贝皆可以ln -s /opt/software/hadoop/hive110/conf/hive-site.xml /opt/software/hadoop/spark244//conf/hive-site.xml2、拷贝jar包cp /opt/software/hadoop/hive110/lib/my...

weixin_29808375的博客 160

Spark集成Hive和mysql

文章目录一、Spark集成Hive二、Spark集成mysql 一、Spark集成Hive 1、将Hive的配置文件拷贝到Spark的配置文件目录下,软拷贝硬拷贝皆可以 ln -s /opt/software/hadoop/hive110/conf/hive-site.xml /opt/software/hadoop/spark244//conf/hive-site.xml 2、拷贝jar包 cp /opt/software/hadoop/hive110/lib/mysql-connector-java-

weixin_50034171的博客 319

实验5 Spark SQL编程初级实践

今天做实验【Spark SQL 编程初级实践】,虽然网上有答案,但在自己的环境下并不能够顺利进行 在第二题中,要求编程实现将 RDD 转换为 DataFrame。根据所谓标准答案,在进行sbt 打包时,报如下错误 [error] /home/hadoop/mycode/rddtodf/src/main/scala/rddtodf.scala:1: object types is no...

aoaoshuai11111的博客 3054

Spark跟hive整合之后,启动spark shell失败的解决办法

Spark跟hive整合之后,启动spark shell失败 解决方法:向spark安装目录下的jars目录里拷贝mysql的jar包mysql-connector-java-5.1.27-bin.jar 想给大家上传jar包,但是一直提交不了,没有上传过资料,也不知道为什么???, [root@hadoop101 bin]# ./spark-shell Using Spark's...

ღ 672
上一篇: 遇到的问题及解决思路
下一篇: Caused by: java.lang.ClassNotFoundException: scala.collection.GenTraversableOnce$class
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值