

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

透過 Amazon EMR 版本 `emr-7.13.0`和更新版本，您可以使用 dbt-core 搭配[啟用 Spark Connect 的互動式工作階段](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/spark-connect.html)，在 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 使用 Amazon EMR Serverless 執行互動式工作階段](spark-connect.md)。

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

1. 針對 EMR Serverless 應用程式上的互動式工作階段執行 dbt 命令。

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