当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R SparkR read.jdbc用法及代码示例


说明:

可以设置其他 JDBC 数据库连接属性 (...) 您可以在 JDBC-specific 选项和参数文档中找到通过 JDBC 读取表的https://spark.apache.org/docs/latest/sql-data-sources-jdbc.html#data-source-option您使用的版本中的数据源选项。

用法:

read.jdbc(
  url,
  tableName,
  partitionColumn = NULL,
  lowerBound = NULL,
  upperBound = NULL,
  numPartitions = 0L,
  predicates = list(),
  ...
)

参数:

  • url jdbc:subprotocol:subname 形式的 JDBC 数据库 url
  • tableName 外部数据库中的表名
  • partitionColumn 将用于分区的数字、日期或时间戳类型的列的名称。
  • lowerBound partitionColumn 的最小值,用于决定分区步长
  • upperBound partitionColumn的最大值用于决定分区步长
  • numPartitions 分区的数量,这与 lowerBound(包括)、upperBound(不包括)一起形成用于平均拆分列 partitionColumn 的生成的 WHERE 子句表达式的分区步长。未设置时默认为 SparkContext.defaultParallelism。
  • predicates where 子句中的条件列表;每一个定义一个分区
  • ... 额外的 JDBC 数据库连接命名属性。

细节:

只应设置 partitionColumn 或谓词之一。将根据numPartitions 或谓词并行检索表的分区。

不要在大型集群上并行创建太多分区;否则 Spark 可能会使您的外部数据库系统崩溃。

返回:

SparkDataFrame

注意:

从 2.0.0 开始读取.jdbc

例子:

sparkR.session()
jdbcUrl <- "jdbc:mysql://localhost:3306/databasename"
df <- read.jdbc(jdbcUrl, "table", predicates = list("field<=123"), user = "username")
df2 <- read.jdbc(jdbcUrl, "table2", partitionColumn = "index", lowerBound = 0,
                 upperBound = 10000, user = "username", password = "password")

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 Create a SparkDataFrame representing the database table accessible via JDBC URL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。