sparkSQL读入csv文件写入MySQL

以下是使用Spark SQL将CSV文件读入并写入MySQL数据库的示例代码,以Scala语言为例,前提是已经在项目中添加了MySQL连接驱动的依赖(例如 mysql-connector-java ):

 

scala

import org.apache.spark.sql.SparkSession

import org.apache.spark.sql.functions._

 

object CsvToMysql {

  def main(args: Array[String]): Unit = {

    // 创建SparkSession

    val spark = SparkSession.builder()

     .appName("CsvToMysql")

     .master("local[*]")

     .getOrCreate()

 

    // 读取CSV文件,假设CSV文件有表头,并且自动推断数据类型

    val csvDF = spark.read

     .option("header", "true")

     .option("inferSchema", "true")

     .csv("path/to/your/csv/file.csv")

 

    // 对数据进行一些可能的处理,比如增加一列

    val processedDF = csvDF.withColumn("new_column", lit("fixed_value"))

 

    // MySQL数据库连接信息

    val jdbcUrl = "jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=UTF-8"

    val tableName = "your_table"

    val properties = new java.util.Properties()

    properties.put("user", "your_username")

    properties.put("password", "your_password")

    properties.put("driver", "com.mysql.cj.jdbc.Driver")

 

    // 将DataFrame写入MySQL数据库

    processedDF.write

     .mode("append") // 写入模式,这里是追加模式,还可以用"overwrite"等

     .jdbc(jdbcUrl, tableName, properties)

 

    // 关闭SparkSession

    spark.stop()

  }

}

 

 

在上述代码中:

 

1. 首先创建了 SparkSession ,用于后续的Spark SQL操作。

 

2. 使用 spark.read 方法读取CSV文件,并设置了相关选项。

 

3. 对读入的 DataFrame 进行了简单的数据处理(示例中添加了一列固定值的列)。

 

4. 配置了MySQL数据库的连接信息,包括URL、表名、用户名、密码和驱动。

 

5. 使用 write.jdbc 方法将处理后的 DataFrame 写入MySQL数据库,并指定了写入模式。

 

6. 最后关闭了 SparkSession 。

 

记得将代码中的文件路径、数据库连接信息、表名等替换为实际的值。

你可能感兴趣的:(spark)