SparkJDBC读写数据库实战

news/2024/5/19 0:01:37 标签: spark, jdbc, 数据库

默认的操作

  1. 代码
    val df = spark.read
      .format("jdbc")
      .option("url", "jdbc:postgresql://localhost:5432/testdb")
      .option("user", "username")
      .option("password", "password")
      .option("driver", "org.postgresql.Driver")
      .option("dbtable", "test_table")
      .load()
    
  2. 讲解
    上面这种默认情况使用jdbc driver读数据库(如pg库),仅仅会使用一个task读数据,也就是只有一个分区。要证明这一点可以通过两种方式:
  • 查看web ui
    在这里插入图片描述
    你会看到只有一个task。
  • 通过getNumPartitions方法
    int numPartitions = ds.rdd().getNumPartitions();
    
    你会看到numPartitions=1。

对数值、日期、时间戳字段分区

spark当然不可能只能用一个task读数据库,这样如果数据库数据量大了,效率将会非常低,官方提供了一些参数,可以控制并发读取数据库任务的数量。
想了解所有的参数,


http://www.niftyadmin.cn/n/5368100.html

相关文章

数据存储中常见的容易混淆的几个概念:结构化/非结构化数据、关系型/非关系型数据

一、概念区分 结构化数据和非结构化数据是数据的两种基本类型,而关系型数据和非关系型数据则是数据存储和管理的两种基本范式。 它们之间的区别和联系如下: 1、结构化数据和非结构化数据: 区别:结构化数据是指具有明确定义的数…

C++泛型编程:typename和class关键字的区别

在STL中基本上都使用了模板类的声明&#xff0c;即template。在模板类的声明中&#xff0c;有两种方式&#xff1a; template <class T> template <typename T> 这里&#xff0c;class和typename是相同的。 也就是说&#xff0c;在声明模板类型参数的时候&#xf…

CCF-CSP 202206-2 寻宝!大冒险!

CCF-CSP 202206-2 寻宝&#xff01;大冒险&#xff01; &#x1f638;题目要求&#x1f408;‍⬛题目背景&#x1f408;‍⬛问题描述&#x1f408;‍⬛输入格式&#x1f408;‍⬛输出格式&#x1f408;‍⬛样例说明&#x1f3b6;样例1输入&#x1f3b6;样例1输出&#x1f3b6;样…

jmeter二次开发函数-生成身份证号

代码参考这个 java 随机生成身份证代码 Java的身份证号码工具类 pom文件添加 <dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_core</artifactId><version>5.4.1</version></dependency><d…

鸿蒙开发系列教程(十四)--组件导航:Tabs 导航

Tabs 导航 Tabs组件的页面组成包含两个部分&#xff0c;分别是TabContent和TabBar。TabContent是内容页&#xff0c;TabBar是导航页签栏 每一个TabContent对应的内容需要有一个页签&#xff0c;可以通过TabContent的tabBar属性进行配置 设置多个内容时&#xff0c;需在Tabs…

详细关于如何解决mfc140.dll丢失的步骤,有效修复mfc140.dll文件丢失的问题。

mfc140.dll文件是Microsoft Visual Studio 2015程序集之一&#xff0c;它包含用于支持多种功能的代码和库。当这个mfc140.dll文件丢失时&#xff0c;可能会导致相关程序运行出错甚至无法运行。很多用户可能会遇到mfc140.dll丢失的问题&#xff0c;但是这并不是不可解决的困难。…

“探索AJAX:前端与后端数据交互的利器“

前言 在现代Web开发中&#xff0c;前端与后端之间的数据交互是一个至关重要的环节。为了实现无需刷新页面的动态更新&#xff0c;AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;作为一种强大的技术被广泛应用。 AJAX的原理 AJAX通过JavaScript和XMLHttpReque…

Vue3快速上手(二)VSCode官方推荐插件安装及配置

一、VSCode官方插件安装&#xff0c;如下图2款插件 在用vite创建的程序里&#xff0c;提示提安装推荐的插件了&#xff0c;如下图&#xff1a; 二、配置 在设置-扩展里找到Volar插件&#xff0c;将Dot Value勾选上。这样在ref()修改变量时&#xff0c;会自动填充.value,无需…