apache-spark - 使用 Spark JDBC 时 DataFrame 列的自定义数据类型

标签 apache-spark jdbc

我知道我可以使用自定义方言在我的 db 和 spark 之间建立正确的映射,但是当我使用 spark 的 jdbc.write 时,如何创建具有特定字段数据类型和长度的自定义表模式选项?当我从 spark 加载表时,我想对我的表模式进行精细控制。

最佳答案

写入的灵活性很小,由

  • SPARK-10101 - Spark JDBC writer mapping String to TEXT or VARCHAR
  • SPARK-10849 - Allow user to specify database column type for data frame fields when writing data to jdbc data sources

  • 但如果你愿意

    to have granular control over my table schemas when I load a table from spark.



    您可能需要实现自己的 JdbcDialect .它是内部开发人员 API,据我所知它是不可插入的,因此您可能需要自定义的 Spark 二进制文件(可能是 registerDialect ,但我还没有尝试过)。

    关于apache-spark - 使用 Spark JDBC 时 DataFrame 列的自定义数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47636867/

    相关文章:

    java - 在类似运算符上应用字符串列表

    python - Python 中 k、v 元组列表中的唯一组合

    hibernate - jpa 将 java 类型映射到数据库类型

    scala - Spark 避免收集尽可能多的

    apache-spark - 通过 Apache Spark Streaming 从 RabbitMq 读取消息

    java - 使用 Java 在 PostgreSQL 中存储时间的最推荐方法是什么?

    java - Jdbc 问题很少

    java.lang.ArrayIndexOutOfBoundsException : for jdbc connection

    scala - 如何在 Scala 中找到两个日期时间之间的时差?

    java - 我应该使用 java.util.Date 还是切换到 java.time.LocalDate