Я записываю данные из CSV-файла в базу данных (PostgreSQL), используя spark (Java). CSV в качестве примера кода фрейма данных ниже
SQLContext sqlContext = new SQLContext(sc);
StructType sparkDataSchema = new StructType(structFields);
Dataset < Row > df = sqlContext.read().format("com.databricks.spark.csv").schema(sparkDataSchema)
.option("delimiter", dataDelimeter).option("header", true)
.load(paths.split(","));
Теперь я записываю содержимое csv-файла в PostgreSQL
df.write().option("truncate", true).mode(SaveMode.Overwrite)
.option("createTableColumnTypes", customSchema).
jdbc(url, dbSchemaName+"."+tableName, connectionProperties);
Если вы заметили здесь, я предоставляю dbSchemaName + "." + tableName в jdb c 2-й параметр. Когда я запускаю приведенный выше код, он выдает ошибку dbSchemaName не существует. Если я не предоставляю dbSchemaName, тогда данные загружаются в схему PostgreSQL по умолчанию "publi c". То, что я хочу здесь, я хочу загрузить данные, отличные от PostgreSQL стандартная схема "publi c" по умолчанию, и, если конкретная схема базы данных не существует, спарк создастся автоматически. Я не нахожу никаких вариантов, как этого добиться. Любая помощь очень ценится.