Matillion

Matillionのざっくり解説

こんにちは。分析官のA.K.です。今回はELTツールのひとつであるMatillionの使い方を紹介していこうと思います。
Matillionは非常に強力なELTツールで、非常にざっくり言わせてもらうと、マウス操作(GUI)のみでデータの結合や集計などのデータ加工・整形ができるツールになります。とても便利なツールではあるのですが、日本語のドキュメントが少なく、体系的に学ぶには多くのコストがかかるなと感じています。
今回は、初学者の方向けに「ざっくりMatillionを理解してもらう」というテーマで記事を書いていこうかと思います。本ブログでも過去にMatillionの記事は書いていますので、さらに詳しく知りたい方はこちらも覗いてみてください。

クラウドネイティブなELTツールMatillionで多テーブルの結合処理クラウドを前提にしたELTツールのMatillionを使うと、意外な驚きに出くわします。 https://www.matillio...
MatillionのInputコンポーネントの使い方MatillionのInputコンポーネントの使い方。ELTツールMatillionの使い方の記事です。 Matillionとは何...
クラウドネイティブなELTツール、Matillionとはなんなのか?本ブログ記事でも度々紹介しております「Matillion」。 そもそもそれはなんなのか?なにがそんなにいいのか? その謎を探るべくA...

Matillionを使用する際の登場人物?

Matillionのアーキテクチャでは、多くの場合、登場人物?が3つ存在します。
1つ目は、データを保存しているデータベースです。具体的には、BigQueryやSnowflakeといったデータウェアハウスが該当します。データベースでは、Matillionの処理の対象となるデータを保管しておく目的のほかに、データの整形・加工の処理のリソースになるという役割があります。2つ目は、Matillionを設置するためのマシンです。ローカルのPCにMatillionを設置することもできますが、多くの場合はCloud上の仮想マシン(インスタンス)を使用します。そして、3つ目がMatillionです。
各登場人物の関係性は図のようになっており、Matillionとデータベースを接続しておき、Matillion内で処理フローを記述していきます。処理フローができあがったら、フローをデータベースに流し込むことで、データベース側のリソースを利用して処理が実行されていきます。

Matillionの処理の種類

Matillionはジョブを組み合わせることでワークフローを作成することができ、ジョブの種類ごとにMatillion側で定義されたコンポーネントと呼ばれる部品を使用することができます。Matillionのジョブは3種類存在します。

オーケストレーションジョブ(Orchestration jobs)

オーケストレーションジョブは、データに直接関わらないメタ的なジョブを実行することができるジョブになります。オーケストレーションジョブの例として、Pythonスクリプトを記述してPythonによる処理をさせたり、Cloud Pub/Subのようなメッセージサービスを利用してメッセージを送信したりするようなものがあります。オーケストレーションジョブの特徴としては、必ずジョブの開始点(トリガー)となる部分が存在します。

トランスフォーメーションジョブ(Transformation jobs)

トランスフォーメーションジョブは、データに直接関わるジョブを実行するものになります。トランスフォーメーションジョブの例として、データをロードしたり、データを集計したりするものがあります。

シェアドジョブ(Shared jobs)

シェアドジョブは、ユーザーが作成したジョブのパッケージを使用するジョブになります。パッケージ化されているので、複雑なジョブを1つのコンポーネントのように扱うことができます。また、繰り返して行うようなジョブをシェアドジョブにすることで、ワークフローの可読性を高めるといった使い方もできます。

さいごに

いかがでしたでしょうか。今回はMatillionの全体概要とワークフローを作成するためのジョブについて紹介させて頂きました。概念的な部分の説明ばかりになってしまいましたが、Matillionを使い始める際の理解の手助けになれば幸いです。またいずれ、実際の使い方の記事も書きたいと思っておりますので、お楽しみに。

A.K.
新米分析官。趣味は、釣り・サウナ。