当前位置: 首页 > 知识库问答 >
问题:

有没有一种方法可以在从数据库(Oracle)读取数据(spark.read.jdbc)时指定分区数而不指定下限和上限?

吴欣悦
2023-03-14

我正在尝试使用Spark.read.jdbc从Oracle数据库读取数据。如果我指定lowerbound、upperbound和numpartitions,最后一个分区可能会比executor内存大。有没有一种方法可以在不指定lowerbound和upperbound的情况下实现numpartitions(比如sqoop)?

共有1个答案

侯和惬
2023-03-14

给出一个列名称,它是数字的,包含唯一值,如PK或UK,并有一个索引。索引是可选的性能。

它将对您的数据进行统一分区,因为数据自然分布在该列中。

spark.read.jdbc(
  url: String,
  table: String,
  columnName: String,
  lowerBound: Long,
  upperBound: Long,
  numPartitions: Int,
  connectionProperties: Properties)
 类似资料:
  • 问题内容: 有谁知道我可以使用node.js读取文件元数据的方法吗?对于 例如,我想读的“细节” jpeg格式的选项卡上的“注释”属性 的文件(在Windows计算机上)。 问题答案: 有许多NPM包可用于读取EXIF数据。例如:

  • 在我的课堂上,我们使用方法来计算文本文件中的数据。如果我有一个看起来像这样的文件: 有没有无论如何从文件中提取此数据,然后将其发送到一个方法来计算,然后返回该计算以显示在main上?我很困惑Java如何跳过每一行,计算数字而不是人名。我在考虑使用和。但是,如果我应该将这些文本文件行变量读取为双打,我如何能够设置字符串读取文本文件中的行?抱歉问了你这么多问题我纠结了很久快把我逼疯了

  • 问题内容: 例如,让我们使用一些简单的数据集 我们想要得到的是这样组织的数组 作为粗略的近似,我们可以使用 但是结果是我们有不必要的嵌套级别 我试图通过使用回调函数摆脱这种不必要的嵌套级别 但是由于某些原因它没有通过 但是只是一堆标量来回调函数:( 您可以使用回调等功能查看它 那么有没有一种方法可以在不获取结果后使用模式的情况下获得所需的结果集? 问题答案: 这是一个很老的话题,但是我找到了一个非

  • 问题内容: 让我们说我有这样的查询: 通过在各处手动更改字符串,我使用不同的表多次运行此查询。我尝试声明以下内容: 但这似乎不起作用,因为它引发了一个错误,提示我必须先声明为表变量,然后才能使用它。我如何对表名进行模板化,如果可以的话,Intellisense仍然可以使用吗? 问题答案: 您可以将其包装在EXEC语句中,如下所示: 但是不,在这种情况下,智能感知将无法正常工作。 如果您事先知道输出

  • 对于多个数据库(和数据库服务器),我有完全相同的数据库定义。我如何告诉Jooq使用与我创建的连接到DB的“连接”相同的数据库? 示例(对于MySQL): jdbc:mysql://localhost:3306/tsm-我的开发数据库(tsm),用于生成代码 所有3个数据库都具有相同的定义、相同的表、索引等。TSM one是我们的应用程序使用的标准。 也许我应该使用DSL。使用(连接、设置)而不是?

  • 我正在尝试使用 matlab 从 netCDF 文件中读取时间坐标数据。我有一个 netCDF 文件(我创建的),该文件具有一个双精度格式的时间变量,对应于特定时间的小时数(见下文)。 变量属性: 当我使用 ncread) 将时间变量读取到 matlab 中时,它只是打印出一个整数,例如,1。但是,如果我使用“ncdump”浏览文件,我会在其坐标时间中看到时间变量,例如 2002-01-01 01