當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。