Вы можете увидеть этот документ: Подключение к базам данных SQL с использованием JDBC .Он предоставляет вам несколько примеров о записи данных в JDBC .
В этом разделе показано, как записать данные в базу данных из существующей таблицы Spark SQL с именем diamonds.
%sql -- quick test that this test table exists
select * from diamonds limit 5
Следующий код сохраняет данные в таблицу базы данных с именем diamonds.Использование имен столбцов, которые являются зарезервированными ключевыми словами, может вызвать исключение.Таблица-пример имеет столбец с именем table, поэтому вы можете переименовать его с помощью withColumnRenamed (), прежде чем передавать его в JDBC API.
spark.table("diamonds").withColumnRenamed("table", "table_number")
.write
.jdbc(jdbcUrl, "diamonds", connectionProperties)
Spark автоматически создает таблицу базы данных с соответствующей схемой, определенной из схемы DataFrame.
Поведение по умолчанию - создание новой таблицы и выдача сообщения об ошибке, если таблица с таким именем уже существует.Вы можете использовать функцию Spark SQL SaveMode, чтобы изменить это поведение.Например, вот как добавить больше строк в таблицу:
import org.apache.spark.sql.SaveMode
spark.sql("select * from diamonds limit 10").withColumnRenamed("table", "table_number")
.write
.mode(SaveMode.Append) // <--- Append to the existing table
.jdbc(jdbcUrl, "diamonds", connectionProperties)
Вы также можете перезаписать существующую таблицу:
spark.table("diamonds").withColumnRenamed("table", "table_number")
.write
.mode(SaveMode.Overwrite) // <--- Overwrite the existing table
.jdbc(jdbcUrl, "diamonds", connectionProperties)
Надеюсь, это поможет.