gpt4 book ai didi

apache-spark - Apache Spark Parquet 数据帧的 JOOQ 生成器?

转载 作者:行者123 更新时间:2023-12-04 05:02:33 25 4
gpt4 key购买 nike

我在一个地方工作,我们在后端代码的某些部分使用 JOOQ 生成 sql 查询。已经编写了许多代码来使用它。在我这边,我想将这些功能映射到 spark 中,尤其是在 Spark SQL 中生成查询,通过从一堆 Parquet 文件加载的数据帧。

是否有任何工具可以从 parquet(或 spark)模式生成 DSL 类?我找不到任何。其他方法在这个问题上是否成功?

理想情况下,我希望根据可能不断发展的模式动态生成表和字段。

我知道这是一个广泛的问题,如果认为它超出了 SO 的范围,我将关闭它。

最佳答案

jOOQ 不正式支持 Spark,但您有多种选择可以对 Spark 数据库中的任何模式元数据进行逆向工程:

使用JDBCDatabase

与任何其他 jooq-meta Database 实现一样,您可以使用 JDBCDatabase 对它可以通过 JDBC DatabaseMetaData 找到的任何内容进行反向工程。 API,如果您的 JDBC 驱动程序支持的话。

使用文件作为元数据源

从 jOOQ 版本 3.10 开始,您可以使用三种不同类型的“离线”元数据源来生成数据:

  • XMLDatabase将从 XML 文件生成代码。
  • JPADatabase将从 JPA 注释的实体生成代码。
  • DDLDatabase将解析 DDL 文件并对其输出进行逆向工程(这可能不适用于 Spark,因为它的语法不受官方支持)

不使用代码生成器

当然,您没有生成任何代码。您可以直接从您的 JDBC 驱动程序(同样通过 DatabaseMetaData API)获取元数据信息,这些信息通过 DSLContext.meta() 进行抽象。 ,或者您通过 DSLContext.meta(InformationSchema) 使用 XML 内容再次动态地将模式提供给 jOOQ。

关于apache-spark - Apache Spark Parquet 数据帧的 JOOQ 生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47202617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com