Scala df迭代器上缺少参数类型
有人能告诉我为什么这会返回一个缺失的参数类型错误吗?它指向foreach指令内部的迭代器。目的是在Oracle表中插入DF。谢谢各位:Scala df迭代器上缺少参数类型,scala,dataframe,apache-spark,foreach,iterator,Scala,Dataframe,Apache Spark,Foreach,Iterator,有人能告诉我为什么这会返回一个缺失的参数类型错误吗?它指向foreach指令内部的迭代器。目的是在Oracle表中插入DF。谢谢各位: def insertTechRejet(df: DataFrame): Boolean = { var committed = false var ik: Long = 99999999 var iterator: Iterator[Row] = null val connexion = SparkCP_mod.pool().ge
def insertTechRejet(df: DataFrame): Boolean = {
var committed = false
var ik: Long = 99999999
var iterator: Iterator[Row] = null
val connexion = SparkCP_mod.pool().getConnection
var modificationStmt = ""
modificationStmt = """INSERT INTO DWG_TECH_REJET
(ID_TECH_REJET, NOM_TABLE, TYPE_TRAITEMENT, DT_REJET, CD_REJET, CD_SEVERITE_REJET, TOP_A_RECYCLER, TOP_REJET_TRAITE, DT_REJET_TRAITE, NOM_TABLE_ORIG, CAUSE_REJET)
VALUES(?,?,?,?,?,?,?,?,?,?,?)
"""
var retour: Boolean = false
val stmt = connexion.prepareStatement(modificationStmt)
connexion.setAutoCommit(true)
df.foreach(iterator =>
try {
ik=ik+1
stmt.setLong(1, ik)
stmt.setString(2, iterator(1))
stmt.setString(3, iterator(2))
stmt.setTimestamp(4, iterator(3))
stmt.setString(5, iterator(4))
stmt.setString(6, iterator(5))
stmt.setInt(7, iterator(6))
stmt.setInt(8, iterator(7))
stmt.setTimestamp(9, iterator(8))
stmt.setString(10, iterator(9))
stmt.setString(11, iterator(10))
stmt.executeQuery()
true
} catch { ......
我还尝试了
df.foreach(迭代器:Row=>
),但它不起作用我相信您可以利用Spark SQL的JDBC数据源将数据帧写入Oracle表
详情可从
提交spark作业时,只需使用--jars传递Oracle JDBC jar的正确版本。我相信您可以使用spark SQL的JDBC数据源将数据帧写入Oracle表 详情可从 提交spark作业时,只需使用--jars传递Oracle JDBC jar的正确版本