gpt4 book ai didi

java - 将结果集转换为数据框

转载 作者:行者123 更新时间:2023-12-01 07:46:11 25 4
gpt4 key购买 nike

如果你们中有人能指导我将 scala(或 java)结果集转换为 Spark Dataframe,我会很高兴。

我不能使用这个符号:

val jdbcDF = spark.read
.format("jdbc")
.option("url", "jdbc:mysql://XXX-XX-XXX-XX-XX.compute-1.amazonaws.com:3306/")
.option("dbtable", "pg_partner")
.option("user", "XXX")
.option("password", "XXX")
.load()

所以在让我引用this similar question之前,请考虑在内。

我无法使用该表示法的原因是我需要使用我正在使用的当前版本的spark(2.2.0)中不存在的jdbc配置,因为我想使用一个“queryTimeout”选项最近已添加到spark 2.4版本中,因此我需要在ResultSet中使用它。

任何帮助将不胜感激。

提前谢谢您!

最佳答案

针对公共(public)源 mySQL 的工作示例

import java.util.Properties
import org.apache.spark.rdd.JdbcRDD
import java.sql.{Connection, DriverManager, ResultSet}
import org.apache.spark.implicits.

val url = "jdbc:mysql://mysql-rfam-public.ebi.ac.uk:4497/Rfam"
val username = "rfamro"
val password = ""
val myRDD = new JdbcRDD( sc, () => DriverManager.getConnection(url, username, password), "select rfam_id, noise_cutoff from family limit ?, ?", 1, 100, 10,
r => r.getString("rfam_id") + ", " + r.getString("noise_cutoff"))
val DF = myRDD.toDF
DF.show

返回:

+-------------------+
| value|
+-------------------+
| 5_8S_rRNA, 41.9|
| U1, 39.9|
| U2, 45.9|
| tRNA, 28.9|
| Vault, 33.9|
| U12, 52.9|
....
....

关于java - 将结果集转换为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51739822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com