4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dbt runでエラーが出た(Compilation Error dbt found two macros named "〇〇")編

Posted at

発生したエラー

dbt run実行時に以下のようなエラーが発生した。

15:12:24  Encountered an error:
Compilation Error
  dbt found two macros named "materialization_materialized_view_default" in the
  project "dbt".
   To fix this error, rename or remove one of the following macros:
      - macros/materializations/models/materialized_view/materialized_view.sql
      - macros/materializations/models/materialized_view.sql

エラーメッセージを頼りに確認

以下の2つのファイルに注目してみる

  • macros/materializations/models/materialized_view/materialized_view.sql
  • macros/materializations/models/materialized_view.sql
$ cd macros
$ tree -L 1
.

該当するファイルは無さそう。

エラーのことは忘れて、新しいディレクトリにdbtプロジェクトを作成して「dbt run」を実行したが同じエラーが出た。

dbtのバージョンを調べてみる

$ dbt --version
(一部抜粋)
Core:
  - installed: 1.6.3
  
Plugins:
  - snowflake: 1.6.2

バージョンを変えてみた。

$ python3 -m pip install dbt-core==1.8.6 dbt-snowflake==1.8.3

バージョンは変わっているか確認しよう、、、できなかった

$ dbt --version
(一部抜粋)
ModuleNotFoundError: No module named 'dbt.adapters.factory'

dbt-adaptersをアンインストール後、インストールした。
dbt-adaptersのバージョンはとりあえず最新にした。

$ python3 -m pip uninstall dbt-adapters
$ python3 -m pip install dbt-adapters==1.8.0
$ dbt --version
(一部抜粋)
Core:
  - installed: 1.8.6
Plugins:
  - snowflake: 1.8.3

dbt runを実行してみる

$ dbt run
(一部抜粋)
Completed successfully

解決したっぽい

エラーとなる状況を再現しよう

$ python3 -m pip install dbt-core==1.6.3 dbt-snowflake==1.6.2
(一部抜粋)
Successfully uninstalled mashumaro-3.9
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
dbt-common 1.11.0 requires mashumaro[msgpack]<4.0,>=3.9, but you have mashumaro 3.8.1 which is incompatible.
Successfully installed mashumaro-3.8.1

dbt-common 1.11.0は、mashumaroのバージョンが3.9以上かつ4.0未満であること求めているっぽい。
mashumaroのバージョン3.9をインストールする。

$ python3 -m pip install mashumaro==3.9
(一部抜粋)
 Successfully uninstalled mashumaro-3.8.1
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
dbt-core 1.6.3 requires mashumaro[msgpack]~=3.8.1, but you have mashumaro 3.9 which is incompatible.
Successfully installed mashumaro-3.9

dbt-core 1.6.3は、mashumaroのバージョン3.9では互換性がないっぽい。
この辺りが原因で「dbt run」が実行できなかった?

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?