2
我有一个test
表在MySQL中与ID和名称如下图所示:星火SQL和MySQL- SaveMode.Overwrite不插入修改的数据
+----+-------+
| id | name |
+----+-------+
| 1 | Name1 |
+----+-------+
| 2 | Name2 |
+----+-------+
| 3 | Name3 |
+----+-------+
我使用星火DataFrame
读取该数据(使用JDBC)和修改数据这样
Dataset<Row> modified = sparkSession.sql("select id, concat(name,' - new') as name from test");
modified.write().mode("overwrite").jdbc(AppProperties.MYSQL_CONNECTION_URL,
"test", connectionProperties);
但我的问题是,如果我给覆盖模式,它丢弃了上表中,并创建新表,但不插入任何数据。
我通过从csv文件(与测试表相同的数据)中读取并覆盖来尝试相同的程序。这对我有效。
我在这里错过了什么吗?
谢谢!