代码之家  ›  专栏  ›  技术社区  ›  Sky

如何设置使用JDBC数据源写入MySQL表的字符集?

  •  2
  • Sky  · 技术社区  · 7 年前

    这是可以设置的吗 CHARACTER SET utf8

    我使用DataFrames将数据保存到MySQL中。

    df.write
      .format("jdbc")
      .option("url", "jdbc:mysql://localhost")
      .option("dbtable", "spark.tweet")
      .option("user", "root")
      .option("password", "root")
      .mode(SaveMode.Append)
      .save()
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   Jacek Laskowski    7 年前

    使用 createTableOptions 选项,例如。 option("createTableOptions","CHARACTER SET utf8")

    https://spark.apache.org/docs/latest/sql-data-sources-jdbc.html :

    这是一个与JDBC编写器相关的选项。如果指定,此选项允许在创建表时设置特定于数据库的表和分区选项(例如,CREATE table t(名称字符串)ENGINE=InnoDB)。此选项仅适用于书写。

        2
  •  -1
  •   Jiayi Liao    7 年前

    jdbc:mysql://${jdbcHostname}:${jdbcPort}/${jdbcDatabase}?user=${jdbcUsername}&password=${jdbcPassword}&useUnicode=true&characterEncoding=UTF-8
    
    推荐文章