用的本地模式,pom.xml中添加了mysql驱动包,mysql已经开启,写入的时候发现用format("jdbc").save()的方式发现会有does not allow create table as select的异常,于是去官方文档上发现了使用jdbc()的方式,测试

正常,说明下Properties是java.util.Properties

java

 public class Demo {
private static SparkSession session = SparkSession.builder().appName("demo").master("local").getOrCreate(); public static void main(String[] args) {
Map<String, String> options = new HashMap<>();
options.put("url", "jdbc:mysql://127.0.0.1:3306/studentmanage");
options.put("driver", "com.mysql.jdbc.Driver");
options.put("dbtable", "studentmanage.admin");
options.put("user", "root");
options.put("password", "root"); // 读取
Dataset<Row> dataset = session.read().format("jdbc").options(options).load();
dataset.show(); // 创建数据
List<Row> list = new ArrayList<Row>();
Row row1 = RowFactory.create("tele", "123", "male", "China", 1, "admin");
Row row2 = RowFactory.create("wyc", "123", "male", "China", 1, "admin");
Row row3 = RowFactory.create("xxx", "123", "male", "China", 1, "admin");
list.add(row1);
list.add(row2);
list.add(row3); // 写入
StructType schema = DataTypes
.createStructType(Arrays.asList(DataTypes.createStructField("name", DataTypes.StringType, false),
DataTypes.createStructField("pwd", DataTypes.StringType, false),
DataTypes.createStructField("sex", DataTypes.StringType, false),
DataTypes.createStructField("nation", DataTypes.StringType, false),
DataTypes.createStructField("status", DataTypes.IntegerType, false),
DataTypes.createStructField("type", DataTypes.StringType, false))); Dataset<Row> ds = session.createDataFrame(list, schema); Properties connectionProperties = new Properties();
connectionProperties.put("user", "root");
connectionProperties.put("password", "root"); // 也可以对dataset进行遍历使用原生的jdbc或者dbutils等进行写入
ds.write().mode(SaveMode.Append).jdbc("jdbc:mysql://127.0.0.1:3306/studentmanage", "admin",
connectionProperties); session.stop();
}
}

scala

 object Demo {
def main(args: Array[String]): Unit = {
val session = SparkSession.builder().appName("demo").master("local").getOrCreate() val options = Map[String, String](
("url", "jdbc:mysql://127.0.0.1:3306/studentmanage"),
("driver", "com.mysql.jdbc.Driver"),
("dbtable", "studentmanage.admin"),
("user", "root"),
("password", "root")) //读取
val df = session.read.options(options).format("jdbc").load() df.show() //写入
val arrBuffer = Array(Row("yeye", "123", "male", "us", 1, "admin")).toBuffer val schema = DataTypes.createStructType(Array(
StructField("name", DataTypes.StringType, false),
StructField("pwd", DataTypes.StringType, false),
StructField("sex", DataTypes.StringType, false),
StructField("nation", DataTypes.StringType, false),
StructField("status", DataTypes.IntegerType, false),
StructField("type", DataTypes.StringType, false))) val result = session.createDataFrame(arrBuffer, schema) val properties = new Properties
properties.put("user", "root")
properties.put("password", "root") result.write.mode(SaveMode.Append).jdbc("jdbc:mysql://127.0.0.1:3306/studentmanage", "admin", properties) session.stop
}
}

最新文章

  1. pg gem 安装(postgresql94)
  2. C# Request中修改header信息
  3. js 点击默认另存 ,不是打开 Blob 操作
  4. Linux下tomcat服务
  5. 华东交通大学2016年ACM“双基”程序设计竞赛 1004
  6. soap的简单实现(PHP)
  7. SQL Server 2008管理工具出现 远程过程调用失败0x800706be解决方法
  8. gulp-css-spriter 雪碧图合成
  9. Python设计模式——代理模式(Proxy)
  10. javaweb学习总结(三十七)——获得MySQL数据库自动生成的主键
  11. 携手 Google 和 Docker 为 Microsoft Azure 带来全新的开源容器技术
  12. 两个示例介绍JavaScript的闭包
  13. java基础练习 2
  14. canvas烟花-娱乐
  15. 什么是GUID?
  16. Mysql变量列表
  17. 设计模式总结篇系列:享元模式(Flyweight)
  18. Django中cookie和session使用
  19. Kong(V1.0.2)Network &amp; Firewall
  20. 使用SharedPreference和对象流存储对象

热门文章

  1. js进阶 14-4 $.get()方法和$.post()方法如何使用
  2. C#中防止程序多次运行
  3. LeetCode Algorithm 133_Clone Graph
  4. 关于mysql事务行锁for update实现写锁的功能
  5. OAuth2 社区通用组件
  6. Cmake 实现debug和release lib依赖项处理
  7. 用CSS实现阴阳八卦图等图形
  8. 【Codeforces Round #435 (Div. 2) B】Mahmoud and Ehab and the bipartiteness
  9. MVC模式编程演示样例-登录验证(静态)
  10. [译]基于Vue.js的10个最佳UI框架,用于构建移动应用程序