Python 正在Spark中关闭MYSQL JDBC连接

Python 正在Spark中关闭MYSQL JDBC连接,python,mysql,jdbc,apache-spark,pyspark,Python,Mysql,Jdbc,Apache Spark,Pyspark,我正在通过JDBC从MYSQL服务器向Spark加载数据,但在加载数据后需要关闭该连接。关闭连接的确切语法是什么 df_mysql = sqlContext.read.format("jdbc").options( url="jdbc:mysql://***/****”, driver="com.mysql.jdbc.Driver", dbtable="((SELECT jobid, system, FROM Jobs LIMIT 500) as T)", user=“****

我正在通过JDBC从MYSQL服务器向Spark加载数据,但在加载数据后需要关闭该连接。关闭连接的确切语法是什么

df_mysql = sqlContext.read.format("jdbc").options(
  url="jdbc:mysql://***/****”,
  driver="com.mysql.jdbc.Driver",
  dbtable="((SELECT jobid, system, FROM Jobs LIMIT 500)  as T)",
  user=“*****”,
  password=“*****”).load()

我试过dbtable.close。那不行。

这里真的没有什么可以关闭的。DateFrame对象不是JDBC连接,load并不真正加载数据。它只是获取构建数据框架所需的元数据


实际的数据处理仅在执行包含任务的作业时发生,该作业取决于此特定输入,并由相应的执行器处理。有人负责管理连接和获取数据,此过程不向用户公开。

这里没有什么可关闭的。DateFrame对象不是JDBC连接,load并不真正加载数据。它只是获取构建数据框架所需的元数据


实际的数据处理仅在执行包含任务的作业时发生,该作业取决于此特定输入,并由相应的执行器处理。有人负责管理连接和获取数据,此过程不向用户公开。

这是否意味着在处理数据之前我需要保持连接?在spark中创建df之后,在进入昂贵的计算之前,如何关闭连接。这是,或者至少应该由输入格式处理。由于Spark不急于加载数据,也不以流式方式处理记录,所以您可以看到相对较长的连接。此外,如果没有缓存,数据可能会被多次提取,缓存本身比普通RDD复杂得多。当我在脚本中添加耗时的进程时,我发现MYSQL连接超时错误。当脚本仅用于加载和对数据执行一些简单任务时,它并不存在。这就是为什么我想在创建数据帧后关闭连接。我想这可能是某种配置问题,但不太可能遇到错误。以某种方式手动关闭与JDBC源代码的连接不是一个选项。@zero323关于spark功能的内部工作,建议阅读哪些参考资料?我面临着类似的问题,spark作业读取的数据库限制了每个用户的最大并发连接数。spark load会一直保持连接,直到作业完成,即使在作业开始时我只有一个load调用,然后在DF上执行复杂的转换以提醒作业。这是否意味着在处理数据之前我需要保持连接?在spark中创建df之后,在进入昂贵的计算之前,如何关闭连接。这是,或者至少应该由输入格式处理。由于Spark不急于加载数据,也不以流式方式处理记录,所以您可以看到相对较长的连接。此外,如果没有缓存,数据可能会被多次提取,缓存本身比普通RDD复杂得多。当我在脚本中添加耗时的进程时,我发现MYSQL连接超时错误。当脚本仅用于加载和对数据执行一些简单任务时,它并不存在。这就是为什么我想在创建数据帧后关闭连接。我想这可能是某种配置问题,但不太可能遇到错误。以某种方式手动关闭与JDBC源代码的连接不是一个选项。@zero323关于spark功能的内部工作,建议阅读哪些参考资料?我面临着类似的问题,spark作业读取的数据库限制了每个用户的最大并发连接数。spark load会一直保持连接,直到作业完成,即使在作业开始时我只有一个load调用,然后在DF上执行复杂的转换以提醒作业。