spark 把List数据写到指定表 JAVA代码
时间: 2024-06-11 19:08:33 浏览: 97
在使用Spark写入List数据到指定表时,需要先创建一个SparkSession对象并指定数据源格式和表名,然后调用write方法将List数据写入表中。
下面是一段示例Java代码:
```java
import java.util.List;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.functions;
import org.apache.spark.sql.types.DataTypes;
public class ListToTableWriter {
public static void main(String[] args) {
// 创建SparkSession对象
SparkSession spark = SparkSession.builder()
.appName("ListToTableWriter")
.master("local")
.getOrCreate();
// 创建List数据
List<String> data = List.of("John", "Doe", "Jane", "Doe");
// 将List数据转换为DataFrame
Dataset<Row> df = spark.createDataset(data, DataTypes.StringType)
.toDF("name");
// 指定数据源格式和表名
String format = "jdbc";
String url = "jdbc:mysql://localhost:3306/test";
String table = "people";
String user = "root";
String password = "root";
String driver = "com.mysql.jdbc.Driver";
// 写入表中
df.write()
.format(format)
.option("url", url)
.option("dbtable", table)
.option("user", user)
.option("password", password)
.option("driver", driver)
.mode("append")
.save();
// 关闭SparkSession
spark.stop();
}
}
```
在这个示例中,我们创建了一个包含四个字符串元素的List数据并将其转换为DataFrame对象。然后,我们使用JDBC数据源格式将DataFrame数据写入到MySQL数据库中的people表中。最后,我们关闭SparkSession对象。
需要注意的是,这段代码仅适用于将List数据写入到MySQL数据库中的表中。如果要将List数据写入到其他类型的数据源或表中,需要相应地更改数据源格式、URL、表名、用户名、密码和驱动程序等参数。
阅读全文