【问题标题】:Read and write to/from SQL databases with Apache Spark使用 Apache Spark 读写 SQL 数据库
【发布时间】:2020-06-14 20:15:49
【问题描述】:

我想了解为什么在使用 Apache Spark 时我们没有明确关闭 JDBC 连接。

见:https://docs.microsoft.com/en-us/azure/sql-database/sql-database-spark-connectorhttps://spark.apache.org/docs/latest/sql-data-sources-jdbc.html

这是因为当我们这样做的时候

val collection = sqlContext.read.sqlDB(config)

jdbcDF.write
  .format("jdbc")
   (...)
  .save()

我们并没有真正打开连接,而只是指定了一个 DAG 阶段?然后在后台 Spark 建立连接并关闭它?

【问题讨论】:

    标签: sql apache-spark jdbc


    【解决方案1】:

    没错,Spark 在计划执行阶段负责打开/关闭与关系数据源的 JDBC 连接。这允许它保持支持多种DataSource 类型所需的抽象级别。您可以查看JdbcRelationProvider(用于读取)或JdbcUtils(用于保存)的源代码来查看该逻辑。

    【讨论】:

      猜你喜欢
      • 2020-05-25
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 2021-03-28
      • 1970-01-01
      • 2021-08-26
      • 2021-06-22
      • 1970-01-01
      相关资源
      最近更新 更多