可以通过以下步骤完成:
com.github.tototoshi:scala-csv
。以下是一个示例代码,演示了如何使用Scala将大型CSV数据加载到PostgreSQL:
import java.io.File
import scala.io.Source
import com.github.tototoshi.csv.CSVReader
import java.sql.{Connection, DriverManager}
object CSVLoader {
def main(args: Array[String]): Unit = {
// 数据库连接信息
val url = "jdbc:postgresql://localhost:5432/mydatabase"
val username = "myusername"
val password = "mypassword"
// CSV文件路径
val csvFile = new File("path/to/csv/file.csv")
// 建立数据库连接
Class.forName("org.postgresql.Driver")
val connection = DriverManager.getConnection(url, username, password)
// 创建表格
val createTableQuery = "CREATE TABLE IF NOT EXISTS mytable (column1 INT, column2 TEXT, column3 DATE)"
val createTableStatement = connection.createStatement()
createTableStatement.execute(createTableQuery)
// 读取CSV数据并插入到数据库
val reader = CSVReader.open(csvFile)
val csvData = reader.all()
reader.close()
val insertQuery = "INSERT INTO mytable (column1, column2, column3) VALUES (?, ?, ?)"
val insertStatement = connection.prepareStatement(insertQuery)
csvData.foreach { row =>
insertStatement.setInt(1, row(0).toInt)
insertStatement.setString(2, row(1))
insertStatement.setDate(3, java.sql.Date.valueOf(row(2)))
insertStatement.addBatch()
}
insertStatement.executeBatch()
// 关闭数据库连接
insertStatement.close()
connection.close()
}
}
这个示例代码假设你已经安装了PostgreSQL数据库,并且已经创建了一个名为mydatabase
的数据库。你需要将代码中的数据库连接信息、CSV文件路径和表格结构根据实际情况进行修改。
推荐的腾讯云相关产品:腾讯云数据库 PostgreSQL
云+社区技术沙龙[第25期]
云+社区技术沙龙[第17期]
Techo Day 第三期
云+社区技术沙龙[第27期]
云+社区沙龙online [技术应变力]
DB TALK 技术分享会
云+社区技术沙龙[第24期]
DB・洞见
云+社区技术沙龙[第28期]
领取专属 10元无门槛券
手把手带您无忧上云