

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

# 将 dbt-core 与 EMR Serverless 配合使用
<a name="tutorials-dbt"></a>

在 Amazon EMR 版本`emr-7.13.0`及更高版本中，您可以使用[支持 Spark Connect 的交互式](https://docs.amazonaws.cn/emr/latest/EMR-Serverless-UserGuide/spark-connect.html)会话的 dbt-core 在 EMR Serverless 上运行转换。

**将 dbt-core 与 EMR Serverless 配合使用**

1. 安装支持会话的 dbt-spark 适配器。

   ```
   pip install dbt-spark[session]
   ```

1. 在你的 dbt 配置文件 (`profiles.yml`) 中，将`host`配置设置为`NA`。此字段为必填字段，但在设置时会`SPARK_REMOTE`被忽略。

   ```
   emrs_spark_sample:
     target: dev
     outputs:
       dev:
         type: spark
         method: session
         schema: sample_schema
         host: NA
   ```

1. 在运行 dbt 之前，启动交互式会话并设置`SPARK_REMOTE`为会话端点 URL。有关如何获取会话端点 URL 的更多信息，请参阅[通过 Spark Connect 与亚马逊 EMR Serverless 进行交互式会话](spark-connect.md)。

   ```
   import os
   os.environ['SPARK_REMOTE'] = {{spark_remote_url}}
   ```

1. 在 EMR Serverless 应用程序上对交互式会话运行 dbt 命令。

   ```
   dbt run --select {{my_dbt_model}}
   ```