Terraformを使用して5分で最新のデータスタックをブートストラップする
最新のデータ スタックとは何ですか?どのようにデプロイするのですか? このガイドでは、Airbyte、BigQuery、dbt、Metabase、その他 Terraform を使用する必要なものすべてのセットアップ手順を説明し、この旅を始める動機になります。
By トゥアン・グエン、JoonSolutionsのCTOおよび取締役.
最新のデータ スタック アーキテクチャ (著者による画像)。
最新のデータスタックとは
最新のデータ スタック (MDS) は、最新のデータ ウェアハウスのパフォーマンスを従来のデータ ウェアハウスよりも 10 ~ 10,000 倍向上させるテクノロジーのスタックです。 最終的に、データシートは時間、お金、労力を節約します。 MDS の XNUMX つの柱は次のとおりです。 データコネクタ クラウドデータウェアハウス データトランスフォーマー、と BI とデータ探索 ツール。
初級 統合 これは、すぐに使用できる数百のコネクタを事前に構築するマネージド ツールとオープンソース ツールによって可能になります。 以前はデータ エンジニアのチームが定期的に構築して維持する必要があったものを、今では単純なユースケース向けのツールに置き換えることができます。 などのマネージド ソリューション ステッチ & ファイブトランのようなオープンソース ソリューションと組み合わせて、 エアバイト & メルターノ、これを実現しています。
使い方 クラウドベースのカラム型データ ウェアハウス 高性能とコストパフォーマンスの高さから最近トレンドになっています。 オンプレミスの MPP (超並列処理) データベースに年間 100 万ドルを支払う代わりに、月額 100 ドル (またはそれ以下) から支払いを開始できます。 クラウドネイティブ データ ウェアハウスは、従来の OLTP よりも 10 ~ 10,000 倍高速であると言われています。 このカテゴリで人気のあるオプションは次のとおりです ビッグクエリー, スノーフレーク, レッドシフト.
以前は、テクノロジーの限界により、データ ウェアハウス内でのデータの処理がボトルネックでした。 その結果、企業はデータ ウェアハウスのワークロードを軽減するために ELT ではなく ETL を優先する必要がありました。 しかし、クラウドネイティブのデータ ウェアハウスの進歩により、多くの データ ウェアハウス内変換ツール が人気になってきています。 このカテゴリで最も注目に値するのは、dbt (データ構築ツール) と Dataform です。
BIツール 従来は、レガシー データ ウェアハウスのワークロードを軽減するために、いくつかの変換も処理していました。 しかし、最新のデータ スタックにより、BI ツールの焦点は (私の意見では) データ アクセス、セルフサービス、データ検出の民主化に移ってきました。 正しい方向に進んでいると思われるいくつかのツールは次のとおりです。 ルッカー, メタベース, スーパーセット.
私たちのアーキテクチャ
最新のデータ スタックを使い始めるのは、さまざまなツールやプロセスが関与するため、気が遠くなるかもしれません。 この記事は、この旅をできるだけスムーズに開始できるようにすることを目的としています。 準備ステップはたくさんありますが、必要なのは 五分 完了したら、すべてのリソースを起動します。
使用します テラフォームは、Google Cloud ですべてをプロビジョニングするためのコードとしてのインフラストラクチャのオープンソース ツールです。 以下の手順に従うと、作成されるリソースは次のとおりです。
- 必要な API が有効になっている Google Cloud プロジェクト
- 取り込み: Airbyte を実行する GCE インスタンス
- ウェアハウジング: BigQuery データセット
- オーケストレーション (オプション): Airflow を実行する GCE インスタンス
- BI とデータの検出: Metabase を実行する GCE インスタンス
- さまざまなサービスのサービス アカウントとその IAM 権限バインディング
始める
Google Cloud アカウントを作成し、課金を有効にする
このプロジェクトの Terraform コードは、Google Cloud Platform と対話します。 したがって、最初のステップは Google アカウントを作成することです。 課金を有効にする。 に注意してください 請求ID 請求ページでは次の形式で入力します。 ######-######-######。 この値は次のステップで必要になります。
Google Cloud CLI をインストールする
指示に従って Google Cloud SDK をインストールします こちら それぞれの OS に合わせて。 を手に入れた後、 gクラウド CLI がインストールされている場合は、ターミナル ウィンドウで次のコマンドを実行し、指示に従います。 これにより、Terraform は認証にデフォルトの資格情報を使用できるようになります。
gcloud authapplication-デフォルトのログイン
テラフォームのインストール
指示に従ってください こちら Terraform CLI をローカルにインストールします。 その後次のコマンドを実行して、インストールを確認します。
テラフォーム -v
次のようなものが表示されます。
darwin_amd1.0.0 上の Terraform v64 + プロバイダー registry.terraform.io/bashicorp/google v3.71.0
このリポジトリをローカルでフォークまたはクローン作成する
また、ご購読はいつでも停止することが可能です このリポジトリをフォークする 自分のアカウントにコピーするか、ローカル マシンにクローンを作成します。 リポジトリのクローンを作成するには、次のコマンドを実行します。
git clone https://github.com/tuanchris/modern-data-stack cd modern-data-stack
作る terraform.tfvars file
作る terraform.tfvars 次の内容のファイル:
# 最初のステップの請求 ID billing_id = ######-######-###### # プロジェクトを配置するフォルダー ID # 使用する場合は空白のままにしてください個人アカウントfolder_id = "" # プロジェクトを配置する組織ID # 個人アカウントを使用する場合は空白のままにしておきます org_id = "" # 作成するプロジェクト project_id = ""
警告: これらは機密性の高い値とみなされます。 このファイルをコミットしないでください。 *.tfstate ファイルをパブリック リポジトリにコピーします。
の値をカスタマイズします 変数.tf
の変数 変数.tf リソースの構成に使用されます。
著者による画像。
変数を変更することで、さまざまなサービスに合わせてマシン タイプをカスタマイズできます。 使用したくないサービスがある場合は、そのサービスをコメントアウトしてください。 gce.tf ファイルにソフトウェアを指定する必要があります。
ソース データセット ディクショナリに追加することで、ソース システム用に異なるデータセットを作成することもできます。
最新のデータスタックを作成する
最後に、これらすべてのリソースを Google Cloud にプロビジョニングするには、次のコマンドを実行します。
テラフォーム適用
著者による画像。
ターミナルの出力を調べて、すべてのリソース設定が希望どおりであることを確認します。 タイプ はい ヒット 入力します.
Terraform は、最新のデータ スタックを使用して Google Cloud プロジェクトを作成します。 プロセス全体には約 2 ~ 3 分かかります。 サービスが VM インスタンスにインストールされるまでにはさらに 2 ~ 3 分かかります。 プロセス全体にかかる時間はわずか 5 分以内です。
最新のデータスタックの使用
さまざまなサービスのサービス アカウントを取得する
著者による画像。
Google では、サービスごとに異なるサービス アカウントを使用することを推奨しています。 プロジェクトの terraform コードは、すでに使用されているさまざまなテクノロジに対してさまざまなアカウントを作成しました。 特定のサービスのサービス アカウントを取得するには、次のコマンドを実行します。
terraform 出力 [service_name]_sa_key
これらすべてのアカウントのデフォルトの権限は、 役割/bigquery.admin。 これをカスタマイズできます。 iam.tf ファイルにソフトウェアを指定する必要があります。
返された値は、base64 でエンコードされています。 この値を JSON 形式に戻すには、次のコマンドを実行します。
echo "[前のコマンドの値]" | Base64 -d
JSON サービス アカウントを使用して、プロジェクトのリソースへのサービス アクセスを認証できます。
警告: このサービス アカウントを持つ誰もがプロジェクトにアクセスできます。
Airbyteでデータを取り込む
エアバイト は優れたオープンソース データ統合ツールです。 Airbyte UI にアクセスするには、まず gcloud SSH コマンドを取得します。
著者による画像。
次のようなコマンドが表示されます。
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
次に、Airbyte UI をローカルでポート転送するコマンドに以下を追加します。
-- -L 8000:ローカルホスト:8000 -L 8001:ローカルホスト:8001 -N -f
最終的なコマンドは次のようになります。
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N-f
注: GCP UI からコピーした後は、必ず改行文字を削除してください。
Airbyte インスタンスの起動が完了したら、ブラウザにアクセスしてアクセスできます。 localhost:8000。 そうでない場合は、インスタンスのインストールが完了するまで XNUMX 分間待ちます。
著者による画像。
これで、ソースを統合し、 airbyte_sa_keyすぐにデータを BigQuery に保存できます。
Airbyte インストールには次の場所からアクセスできます。 /エアバイト/ VM 内で。
dbt によるデータのモデル化
DBT (データ構築ツール) は、SQL を使用した強力なオープンソース データ変換ツールです。 これにより、データ アナリストは、これまでデータ エンジニアが行っていた作業を実行できるようになります。 また、データ アナリストとデータ エンジニアを組み合わせた、アナリティクス エンジニアと呼ばれるまったく新しいポジションの作成にも役立ちます。 私のブログでポジションの詳細を読むことができます こちら.
著者による画像。
Airbyte、Airflow、Metabase とは異なり、dbt を実行するためにサーバーは必要ありません。 にアクセスして、無料 (永久) 1 シート アカウントに登録できます。 ウェブサイト.
Airflow でワークフローを調整する
エアフロー は、Airbnb によって作成された実績のあるワークフロー オーケストレーション ツールです。 最新のデータ スタックを使用すれば、Airflow を頻繁に使用する必要がなくなると思います。 ただし、カスタマイズが必要な場合には、Airflow が頼りになるツールになることがあります。
UI にアクセスするには、Airbyte で上記のセクションと同様の SSH コマンドを取得します。 ポート転送には次のコマンドを使用します。
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
これで、次の場所から Airflow インストールにアクセスできるようになります。 localhost:8080。 デフォルトのユーザー名とパスワードは次のとおりです 管理人 & 管理人.
著者による画像。
エアフローのインストールには次の場所からアクセスできます。 /気流/ VM 内で。
メタベースでデータを視覚化する
メタベース は、オープンソースのデータ視覚化および検出ツールです。 非常にユーザーフレンドリーで、簡単に始めることができます。
Metabase UI にアクセスするには、Airbyte で上記のセクションと同様の SSH コマンドを取得します。 次に、次のコマンドをポート転送に使用します。
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
著者による画像。
クリーンアップ
不要なコストの発生を避けるために、このプロジェクトで作成されたリソースを必ず実行してクリーンアップしてください。
テラフォーム破壊
警告: これにより、プロジェクト内の永続化されたデータとリソースが削除されます。 あるいは、未使用の GCE をオフにしてコストを節約することもできます。
元の。 許可を得て転載。
バイオ: トゥアン・グエン Data as aService会社であるJoonSolutionsのCTOです。 彼の専門的な経験は、データサイエンスチーム、分析インフラストラクチャ、および分析のユースケースの構築と管理を中心に展開しています。 彼は、データ分析とクラウドコンピューティングへの情熱を組み合わせて、このデジタル時代のビジネスで競争力を維持できるようにするのが大好きです。 彼は、天文学、読書、音楽、IoTなど、幅広い関心を持っています。
関連する
過去30日間の人気記事 | |||||
---|---|---|---|---|---|
|
|
出典: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- アクセス
- NEW
- のAirbnb
- すべて
- アナリスト
- 分析論
- アパッチ
- API
- 建築
- 周りに
- 記事
- 天文学
- 認証
- オート
- ベータ
- ビッグクエリ
- 請求
- ブログ
- ボード
- 役員
- 国境
- ブラウザ
- ビルド
- 建物
- ビジネス
- これ
- 例
- クラウド
- クラウドコンピューティング
- クラウドプラットフォーム
- コード
- 企業
- 会社
- 計算
- コンピューティング
- コンテンツ
- コスト
- 作成
- CTO
- データ
- データアクセス
- データ分析
- データ統合
- データサイエンス
- データの可視化
- データウェアハウス
- データウェアハウス
- データベース
- 中
- 深い学習
- 破壊する
- デジタル
- 取締役
- 発見
- エンジニア
- エンジニア
- エクスペリエンス
- 名
- フォーカス
- 形式でアーカイブしたプロジェクトを保存します.
- 無料版
- ゴールド
- でログイン
- Googleクラウド
- GPU
- ガイド
- こちら
- ハイ
- 認定条件
- HTTPS
- 何百
- ハイブリッド
- IAM
- 画像
- 含めて
- インフラ
- 統合
- 関係する
- IOT
- IT
- LEARN
- 学習
- ローカル
- 局部的に
- 機械学習
- 作成
- ミディアム
- ML
- お金
- 音楽を聴く際のスピーカーとして
- オンライン
- 開いた
- オープンソース
- 意見
- オプション
- パスワード
- パフォーマンス
- プラットフォーム
- 人気
- プロジェクト
- 公共
- 範囲
- リーディング
- 減らします
- リソースを追加する。
- リソース
- ラン
- ランニング
- 科学
- 科学者たち
- SDDK
- セルフサービス
- サービス
- 簡単な拡張で
- ソリューション
- スピン
- SQL
- start
- 開始
- 滞在
- ストーリー
- システム
- テクノロジー
- 時間
- top
- 変換
- 変換
- ui
- 値
- 可視化
- wait
- 倉庫
- 何ですか
- 仕事
- ワークフロー
- X
- 年