spark读取csv文件,并插入指定表
时间: 2024-01-14 10:03:49 浏览: 141
要读取CSV文件并将其插入指定表,您可以使用Spark SQL来执行此任务。以下是一个示例代码片段,它假设您已经设置了SparkSession。
```scala
import org.apache.spark.sql._
import org.apache.spark.sql.types._
// 读取CSV文件
val csvFilePath = "/path/to/csv/file.csv"
val csvSchema = StructType(Seq(
StructField("column1", StringType),
StructField("column2", IntegerType),
StructField("column3", DoubleType)
))
val csvDF = spark.read
.option("header", "true")
.schema(csvSchema)
.csv(csvFilePath)
// 将数据插入指定表
val tableName = "my_table"
val tableDF = spark.table(tableName)
csvDF.write
.mode(SaveMode.Append)
.insertInto(tableName)
```
上述代码假设您已经创建了一个名为“my_table”的表,并且表的模式与CSV文件的模式匹配。如果表不存在,则可以使用`spark.sql("CREATE TABLE my_table (...)")`来创建它。请注意,该代码还将CSV文件的内容附加到表中,而不是替换现有数据。如果您要替换数据,则可以使用`SaveMode.Overwrite`选项。
阅读全文