View a markdown version of this page

将 dbt-core 与 EMR Serverless 配合使用 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 dbt-core 与 EMR Serverless 配合使用

在 Amazon EMR 版本emr-7.13.0及更高版本中,您可以使用支持 Spark Connect 的交互式会话的 dbt-core 在 EMR Serverless 上运行转换。

将 dbt-core 与 EMR Serverless 配合使用
  1. 安装支持会话的 dbt-spark 适配器。

    pip install dbt-spark[session]
  2. 在你的 dbt 配置文件 (profiles.yml) 中,将host配置设置为NA。此字段为必填字段,但在设置时会SPARK_REMOTE被忽略。

    emrs_spark_sample: target: dev outputs: dev: type: spark method: session schema: sample_schema host: NA
  3. 在运行 dbt 之前,启动交互式会话并设置SPARK_REMOTE为会话端点 URL。有关如何获取会话端点 URL 的更多信息,请参阅通过 Spark Connect 与亚马逊 EMR Serverless 进行交互式会话

    import os os.environ['SPARK_REMOTE'] = spark_remote_url
  4. 在 EMR Serverless 应用程序上对交互式会话运行 dbt 命令。

    dbt run --select my_dbt_model