scala - 如何创建所有 Row 值的逗号分隔字符串

标签 scala apache-spark apache-spark-sql

所以基本上这就是我想做的

insertUpdateRDD2.foreachPartition{ partitionOfRecords =>
  val connection = DriverManager.getConnection(jdbcUrl)
  val s = connection.createStatement()
  for (row <- partitionOfRecords ){      
  s.execute(s"""INSERT INTO K_CPIREG VALUES ('${row:_*}')""")
  }
  connection.close()
  }

我的Row RDD包含88列,将值一一写入是没有意义的,例如${row(0)} ..,一直写到88。是否有任何动态解决方案?

最佳答案

您可以使用Row.mkString方法。

s.execute(s"""INSERT INTO K_CPIREG VALUES (${row.mkString(",")})""")

关于scala - 如何创建所有 Row 值的逗号分隔字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44085171/

相关文章:

scala - 如何从 HDFS 检索 Avro 数据?

scala - Scala 中几个 Seq 的惰性笛卡尔积

linux - 由于目录级别的权限问题,Spark 作业失败

scala - Spark - Scala - 根据条件从数据框中删除列

python - pyspark:使用 spark-submit 发送 jar 依赖

apache-spark - 带数据框的 Spark udf

scala - 折叠 Spark 数据帧

scala - 数据帧空值在 UDF 后转换为 0。为什么?

regex - Scala中的IDEA 13正则表达式检查器

scala - 同时适用于 Int 和 Long 的通用隐式类