jdbc.SQLServerException: не удается найти тип данных "TEXT" при экспорте данных в Azure SQL Server

Я создал фрейм данных в scala spark 2.1 в Azue HDInsight. Я пытаюсь записать фрейм данных в хранилище данных SQL с помощью пакетов PostgreSQL. Я попробовал следующую команду, чтобы написать:

df1.write.format("jdbc").option("url", "jdbc:sqlserver://######").option("dbtable", "dbo.Period_ERROR").option("user", "dataiqdw").option("password", "######").save()

Но я получаю следующую ошибку:

com.microsoft.sqlserver.jdbc.SQLServerException: Cannot find data type 'TEXT'.
  at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)

Я могу читать данные из хранилища данных SQL в кадре данных, но я получаю эту ошибку, только когда я пытаюсь пробить данные в таблицу. Моя проблема очень похожа на экспорт данных PySpark 2.0 в Azure SQL Server

0 ответов

Попробуйте переопределить метод getJDBCType() и предоставить реализацию для STRING DataType, поскольку по умолчанию он принимает TEXT

override def getJDBCType(dt: DataType): Option[JdbcType] = {
    val answer = dt match {
      case TimestampType => Some(JdbcType("DATETIME", java.sql.Types.TIMESTAMP))
      case StringType => Some(JdbcType("VARCHAR(250)", java.sql.Types.VARCHAR))
      case _ => None
    }
Другие вопросы по тегам