メイン コンテンツをスキップする 補完的コンテンツへスキップ

dbt Cloud - インポート

Availability-note AWS

ブリッジの要件

このブリッジ:
  • ドライバーを<TDC_HOME>/data/download/MIMB/にダウンロードするためには、https://repo.maven.apache.org/maven2/ やその他のツールサイトへのインターネットアクセスが必要です。

ブリッジの仕様

ベンダー dbt Labs
ツール名 dbt Cloud
ツールバージョン Core v1.3〜最新バージョン
ツールのWebサイト https://docs.getdbt.com/docs/
サポートされている方法論 [データ統合] JSONファイルのCloud Administrative、GraphQL API経由のマルチモデル、メタデータリポジトリー、Eclipse Java API経由のELT (ソースとターゲットのデータストア、変換来歴、式解析)
データプロファイリング
増分収集
マルチモデル収集
モデル選択のためのリモートリポジトリーの参照

仕様
ツール: JSONファイルでのCloud Administrative、GraphQL経由のdbt Labs / dbt CloudバージョンCore v1.3
https://docs.getdbt.com/docs/をご覧ください。
メタデータ: [データ統合] マルチモデル、メタデータリポジトリー、ELT (ソースとターゲットのデータストア、変換来歴、式解析)
コンポーネント: DbtCloudApiバージョン11.2.0

免責事項
このインポートブリッジでは、インターネットに接続して次のサードパーティライブラリーをダウンロードする必要があります:
- オープンソースのサードパーティライブラリーをダウンロードする場合はhttps://repo.maven.apache.org/maven2/など
- その他のサードパーティソフトウェア(データベース特定のJDBCドライバーなど)は該当するサイトへ

ダウンロードされたサードパーティライブラリーは、$HOME/data/download/MIMB/ に格納されています。
HTTPS が失敗した場合、インポートブリッジは HTTP を試します。
- インターネットへのアクセスにプロキシを使用している場合は、JREでそのプロキシを設定する必要があります(Miscellaneousパラメーターで -java.parametersオプションをご覧ください)。
- インポートブリッジではインターネットにフルにアクセスできない場合は、インターネットアクセスがある別のサーバーから$HOME/data/download/MIMB/ディレクトリーをコピーします。$HOME/bin/MIMB.sh (または.bat) -dというコマンドを使えば、すべてのブリッジで使用される全サードパーティライブラリーを一度にダウンロードできます。

このインポートブリッジを実行すると、ライセンス規約の責任、およびダウンロードしたサードパーティソフトウェアライブラリーによって生じる潜在的なセキュリティの脆弱性を受け入れることになります。

概要
dbtは、変換ワークフローをベースにしたデータ統合(DI/ETL)ツールです。
dbt Cloudは、dbt Coreをベースにしたクラウド展開版(有料ライセンス)です。
https://docs.getdbt.com/docs/introduction
https://docs.getdbt.com/docs/cloud/about-cloud/dbt-cloud-features

dbtプロジェクトはdbtジョブとしてデプロイされます。dbtジョブを実行すると、manifest.jsonというファイルが生成されます。これはdbtプロジェクトのリソース(モデル、テスト、マクロなど)の完全な表現であり、すべてのノード設定とリソースプロパティが含まれている単一のファイルです。
https://docs.getdbt.com/reference/artifacts/manifest-json

このインポートブリッジは、dbt CloudサーバーのREST APIを使ってdbtジョブのdbt Coreであるmanifest.jsonを取得した後、そのdbt manifest.jsonファイルを解析して、ソース/ターゲットデータ接続と、そのようなデータ接続間のカラムレベルのデータフロー来歴を決定します。

GraphQL API形式のURLを指定すると、インポートブリッジは指定されたURLを自動的にAdministrative API形式に変換する(モデルのネームスペースを定義するためのみ)ので、{YOUR_ACCESS_URL}が両方のAPIエンドポイントで同じであることを確認してください。
例: https://metadata.metaintegration.cloud.getdbt.com/graphqlはhttps://metaintegration.cloud.getdbt.comに変換されます

dbt Coreのバージョンに関する詳細は、https://docs.getdbt.com/docs/dbt-versions/coreをご覧ください。

要件
dbtモデルのネームスペース(どのアカウント、プロジェクト、環境、ジョブ、ランに属するか)を定義するため、(GraphQL APIを使用している場合でも)Administrative APIへのアクセスが必要です。

GraphQLを使用してのdbt Cloudのインポートを許可する権限(Member、Account Admin、Job Admin、Read-Only )が必要です。[Metadata-only] 権限セットは Administrative API にアクセスできないため、適切ではありません。

よくある質問
該当なし

制限事項
現在判明している一般的な制限事項は、https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.html をご覧ください。
該当なし

サポート
トラブルシューティングパッケージを次の項目と共に提供してください:
- デバッグログ (UIまたはconf/conf.propertiesでMIR_LOG_LEVEL=6 を使って設定可能)
- 利用できる場合はメタデータバックアップ (技術的理由によりこの共通オプションが実装されていないブリッジがあるものの、Miscellaneous パラメーターで -backup オプションを使って設定可能)。
該当なし


ブリッジ パラメーター

パラメーター名 説明 タイプ デフォルト 範囲
URL プライベート dbt テナント (インスタンス) への接続を有効にするための URL。
データビルドツールはモデルを取得するために2つの方法を使用します:
Administrative (REST) API - https://docs.getdbt.com/docs/dbt-cloud-apis/admin-cloud-api、例:
https://{YOUR_ACCESS_URL}

Discovery (GRAPHQL) API - https://docs.getdbt.com/docs/dbt-cloud-apis/discovery-querying、例:
https://metadata.{YOUR_ACCESS_URL}/graphql

注: Discovery (GRAPHQL) APIを使用する場合、キーはAdministrative (REST) APIにもアクセスできることが必要です。
STRING   https://cloud.getdbt.com/ 必須
キー ブリッジは次の両方のタイプの dbt トークンをサポートします。パーソナル アクセス トークン (PAT) およびサービス アカウント トークン。PAT はユーザー権限を継承し、ユーザー固有の API アクセスを許可します。一方、サービス アカウント トークンは、カスタマイズ可能な権限セットを使用してシステムレベルの認証を提供します。
https://docs.getdbt.com/docs/cloud/manage-access/enterprise-permissions#permission-sets を参照してください

注: メタデータ権限セットは、Discovery (GraphQL) へのアクセスのみを許可します。ただし、ブリッジでは常に、アカウント、プロジェクト、環境、ジョブなどの dbt Cloud 機能へのアクセスが必要になります。
パスワード     必須
プロジェクト dbt プロジェクト名または正規表現。

「DBT.*」と指定されると、インポートブリッジがインポートまたは参照するプロジェクトのリストがフィルタリングされ、その結果、DBT Snowflake Project、DBT Google BigQuery Project などが得られます。

パターンの適切な構文は次のとおりです:
'DBT.*'の結果は、'DBT'で始まるすべてのプロジェクトを返します
'.*DBT' の結果は、'DBT' で終わるすべてのプロジェクトを返します
'.*DBT.*'の結果は、名前に'DBT'が含まれるプロジェクトをすべて返します
'DBT.*Snowflake.*'の結果は、'DBT'で始まり、名前に'Snowflake'が含まれているプロジェクトをすべて返します

'Project'パラメーターの構文:
DBT Snowflake Project
DOM.*;.*Analysis.*
DBT Snowflake Project;DOM.*;.*Analysis.*
REPOSITORY_SUBSET      
環境 dbt 環境名。インポートに含まれている環境はブリッジの projects パラメーターの値によって決定され、環境選択ツリーにも適用されます。

次のフィルターレベルを利用できます。

環境名レベル - 指定した名前の環境を含むプロジェクトがすべてインポートに含まれることを示します。
Deployment;Staging;QA

特定のプロジェクトレベル - 指定した名前の環境を含む、選択されたプロジェクトのみインポートに含まれることを示します。
DOM_SALES/Deployment;DOM_COMMON/Staging;SW_FILTER/QA
REPOSITORY_SUBSET     必須
Miscellaneous はじめに
ダッシュで始まるMiscellaneousオプションを指定し、必要であればその後にパラメーターを追加できます。例:
- connection.cast MyDatabase1="MICROSOFT SQL SERVER"
該当する場合は複数回使用できるオプションもあります。例:
- connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2;
オプションのリストは長い文字列になるため、${MODEL_BRIDGE_HOME}\data\MIMB\parametersにあり拡張子が.txtであるファイルからロードすることもできます。その場合、オプションはすべて、このパラメーターの唯一の値としてそのファイル内で定義されることが必要です。例:
ETL/Miscellaneous.txt

JAVA環境のオプション
-java.memory <Javaメモリの最大サイズ> (以前の-m)

64ビットJREではデフォルトで1G、またはconf/conf.properties内の設定に従います。例:
-java.memory 8G
-java.memory 8000M

-java.parameters <Javaランタイム環境コマンドラインオプション> (以前の-j)


-java.parameters -Dname=value -Xms1G
のように、-java.parametersの後ろのテキストはすべてそのままJREに渡されるため、このオプションはMiscellaneousパラメーター内の最後に来る必要があります。インターネットへのアクセスにプロキシを使用している場合は、必要なサードパーティのソフトウェアライブラリーをダウンロードできるよう、次のオプションを設定する必要があります(このオプションはhttps://repo.maven.apache.org/maven2/にアクセスするため、そして例外的にいくつかの他のツールサイトにアクセスするために不可欠です)。
注: プロキシは、(会社の)外部トラフィックをHTTPSで暗号化しながら、HTTPでプロキシにアクセスできる内部トラフィックを信頼しているものがほとんどです。この場合、HTTPSリクエストはHTTPでプロキシに到達し、プロキシはそれをHTTPSで暗号化します。
-java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass

モデルインポートのオプション
-model.name <モデル名>

モデル名をオーバーライドをオーバーライドします。例:
-model.name "My Model Name"

-prescript <スクリプト名>

このオプションによって、ブリッジの実行前にスクリプトを実行できるようになります。
スクリプトはbinディレクトリー(またはconf/conf.propertiesのM_SCRIPT_PATHで指定)にあり、拡張子が.batか.shであることが必要です。
スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。
スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。
例:
-prescript "script.bat arg1 arg2"

-postscript <スクリプト名>

このオプションによって、ブリッジが正しく実行された後にスクリプトを実行できるようになります。
スクリプトはbinディレクトリー(またはconf/conf.propertiesのM_SCRIPT_PATHで指定)にあり、拡張子が.batか.shであることが必要です。
スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。
スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。
例:
-postscript "script.bat arg1 arg2"

-cache.clear

インポート前にキャッシュをクリアするため、増分収集せずにフルインポートを実行します。

モデルが変更されず、-cache.clearパラメーターが使われていない場合(増分収集)、新しいバージョンは作成されません。
モデルが変更されず、-cache.clearパラメーターが設定されている場合(増分ではなくフルソースインポート)、新しいバージョンが作成されます。

-backup <directory>

さらなるトラブルシューティングのため、入力メタデータを保存できるようにします。指定された<directory>は空であることが必要です。

-restore <ディレクトリー>

復元するバックアップ<ディレクトリー>を指定します。

データ接続オプション
使用するソースとターゲットのデータストアを参照するよう、通常はETL/DIツールとBIツールのインポートブリッジによってデータ接続が生成されます。これらのデータ接続はメタデータ管理ツールによって実際のデータストア(データベースやファイルシステムなど)への接続(メタデータスティッチング)に使われ、完全なエンドツーエンドのデータフローの来歴とインパクト分析が行われます。各データ接続の名前はインポートモデルごとに一意です。DI/BIデザインツールで使われているデータ接続名を可能な限り使用します。そうでない場合は、データベース/スキーマ名、ファイルシステムのパス、Uniform Resource Identifier (URI)など、短くても意味のある接続名が生成されます。次のオプションを使えば、接続を操作できます。これらのオプションによって、レガシーオプションである-c、-cd、-csが置き換えられます。

-connection.cast ConnectionName=ConnectionType

SQL解析のためにジェネリックデータベース接続(ODBCやJDBCなど)を正確なデータベースタイプ(ORACLEなど)にキャストします。例:
-connection.cast "My Database"="MICROSOFT SQL SERVER"
サポートされているデータストア接続タイプのリストは次のとおりです。
ACCESS
APACHE CASSANDRA
DB2/UDB
DENODO
GOOGLE BIGQUERY
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
MICROSOFT SQL AZURE
MICROSOFT SQL SERVER
SYBASE SQL SERVER
SYBASE AS ENTERPRISE
TERADATA
VECTORWISE
HP VERTICA

-connection.rename OldConnection=NewConnection

既存の接続を新しい名前に変更します。例:
-connection.rename OldConnectionName=NewConnectionName
既存の複数のデータベース接続の名前を変更し、新しい1つのデータベース接続に統合できます。例:
-connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase

-connection.split oldConnection.Schema1=newConnection

データベース接続を1つまたは複数のデータベース接続に分割します。
1つのデータベース接続をスキーマごとの1つの接続に分割できます。例:
-connection.split MyDatabase
すべてのデータベース接続をスキーマごとの1つの接続に分割できます。例:
-connection.split *
データベースにスキーマ名を追加することで、データベース接続を明示的に分割し、新しいデータベース接続を作成できます。例:
-connection.split MyDatabase.schema1=MySchema1

-connection.map SourcePath=DestinationPath

ソースパスをデスティネーションパスにマッピングします。これは、異なるパスが同じオブジェクト(ディレクトリーまたはファイル)をポイントしている場合にファイルシステム接続にとって便利です。
Hadoopでは、あるプロセスがHDFSの完全パスで指定されたCSVファイルに書き込む一方、別のプロセスが、デフォルトのファイル名と拡張子を持つ相対パスで指定されている同じファイルによって実装されたHiveテーブル(外部)から読み取ります。例:
-connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv
Linuxでは、/users/johnや/users/paulといった複数のシンボリックリンクによって、/dataのような特定のディレクトリー(またはファイル)が参照されます。例:
-connection.map /data=/users/John -connection.map /data=/users/paul
Windowsでは、M:やN:といった複数のネットワークドライブによって、C:\dataのような特定のディレクトリーが参照されます。例:
-connection.map C:\data=M:\ -connection.map C:\data=N:\

-connection.casesensitive ConnectionName...

検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別しないデフォルトのマッチングルールがオーバーライドされます。例:
-connection.casesensitive "My Database"

-connection.caseinsensitive ConnectionName...

検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別するデフォルトのマッチングルールがオーバーライドされます。例:
-connection.caseinsensitive "My Database"

-connection.level AggregationLevel

外部接続の集計レベルを指定します。例: -connection.level catalog
サポートされている値のリスト:
server
catalog
schema (デフォルト)

その他のブリッジのオプション
-import.multithreading NumberThreads

メタデータを非同期で処理するためのワーカースレッドの数。
- NumberThreadsを使用可能なCPUコア数に設定するためには、パラメーターを空のままにしておきます。

- 実際のスレッド数を指定するには、1以上の数値を入力します。

指定した値が無効な場合は警告が表示され、1が使用されます。
メタデータを非同期で処理する時にメモリ不足になった場合は、数値を小さくして試してください。
マシンで利用できるメモリが多い(たとえば10GB以上)場合は、多くのモデルを一度に処理する時により大きな数値で試してみることができます。
ただし、設定した数値が大きすぎると、リソースの競合によりパフォーマンスの低下を招く場合があります。

-test.skip (以前の -model.test.skip)

処理テストをスキップします
プロジェクトにモデルのテストが含まれている場合があります。プロジェクトに 'dbt test' コマンドが指定されたジョブが含まれている場合、マニフェストにテストが作成されます。
https://docs.getdbt.com/reference/node-selection/test-selection-examples
パラメーターが入力されている場合、テストモデルは処理されません。
注: テスト モデルはデフォルトで処理されます。

-macro.skip

マクロの処理をスキップ
プロジェクトには、モデルとテストによって参照されるマクロが含まれている場合があります。ブリッジはこれらのリソース間にセマンティック リンクを確立し、それらの関係を観察できるようにします。
https://docs.getdbt.com/docs/build/jinja-macros
パラメーターを入力すると、マクロは処理されません。
注: マクロはデフォルトで処理されます。

-analysis.include

分析モデルの処理を含めます
お使いのプロジェクトには分析モデルが含まれていることがあります。https://docs.getdbt.com/docs/build/analyses#overview
パラメーターが入力されている場合、分析モデルが処理されます。
注: 分析モデルはデフォルトでは処理されません。

-import.discovery.api

'https://{YOUR_ACCESS_URL}'という形式でURLを指定します。インポートブリッジは、指定されたURLを自動的に'https://metadata.{YOUR_ACCESS_URL}/graphql'に変換します。
ただし、指定されたURLが'https://metadata.{YOUR_ACCESS_URL}/graphql'形式の場合、URLは変換されません。例:
https://metaintegration.cloud.getdbt.com will be converted to https://metadata.metaintegration.cloud.getdbt.com/graphql
STRING      

 

ブリッジのマッピング

マッピング情報は利用できません

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。