Atlas Data Lake パイプラインの作成 - プレビュー
Atlas Data Lake パイプラインは、 Atlas UI 、 Data Lake パイプラインAPI 、 Atlas CLI を使用して作成できます。 このページでは、Atlas Data Lake パイプラインを作成する手順について説明します。
前提条件
始める前に、以下のものを用意してください。
バックアップ有効
M10
またはそれ以上の Atlas クラスター。Project Owner
Data Lake を配置するプロジェクトのロール
手順
Atlas CLI を使用して新しい Data Lake パイプラインを作成するには、次のコマンドを実行します。
atlas dataLakePipelines create <pipelineName> [options]
コマンド構文とパラメーターの詳細については、 Atlas CLIドキュメントのAtlas dataLakeパイプライン 作成を参照してください。
パイプラインの完了の監視
Atlas CLI を使用して指定された Data Lake パイプラインの完了を監視するには、次のコマンドを実行します。
atlas dataLakePipelines watch <pipelineName> [options]
コマンド構文とパラメーターの詳細については、 Atlas CLIドキュメントのAtlas dataLakepipelines watch を参照してください。
APIを介して Atlas Data Lake パイプラインを作成するには、 Data Lake pipelines
エンドポイントにPOST
リクエストを送信します。 パイプラインを作成するためのpipelines
エンドポイントの構文とパラメータの詳細については、「 Data Lake パイプラインを 1 つ作成する 」を参照してください。
MongoDB Atlas にログインします。
パイプラインの データソース を定義します。
ワークロードを分離して分析クエリ用に最適化された MongoDB が管理するクラウド オブジェクト ストレージの Atlas クラスターにデータのコピーを作成できます。
パイプラインを設定するには、 Setup Pipelineページで次の内容を指定します。
ドロップダウンから Atlas クラスターを選択します。
例
クラスターにサンプル データをロードした場合は、サンプル データをロードした Atlas クラスターを選択します。
ドロップダウンから指定クラスター上のデータベースを選択するか、ドロップダウンにデータベースがリストされていない場合は フィールドにデータベース名を入力します。
Atlas Data Lake は、指定されたクラスターのデータベース名を取得できない場合、データベースを表示しません。
例
サンプル データが読み込まれるクラスターを選択した場合は、
sample_mflix
を選択します。ドロップダウンから指定されたデータベース内のコレクションを選択するか、コレクションが利用できない場合は フィールドにコレクション名を入力します。
Atlas Data Lake は、指定されたクラスターのコレクション名前空間を取得できない場合、コレクションを表示しません。
Atlas Data Lake では、パイプラインのデータソースとしてビューをサポートしていません。 クラスターからコレクションを選択する必要があります。
例
sample_mflix
データベースを選択した場合は、sample_mflix
データベースでmovies
コレクションを選択します。パイプラインの名前を入力します。
Atlas Data Lake パイプライン名は64文字を超えることはできず、次の要素を含めることはできません。
フォワードスラッシュ(
/
)、バックスラッシュ(
\
)空のスペース
ドル記号(
$
)
例
このチュートリアルの例に従う場合は、 Pipeline Nameフィールドに
sample_mflix.movies
を入力します。[Continue] をクリックします。
クラスター データの取り込みスケジュールを指定します。
Atlas バックアップ スナップショットからクラスター データを抽出し、Data Lake データセットに取り込む頻度を指定できます。 各スナップショットは、ワークロードが分離された分析ストレージに保存されるその時点でのデータを表します。 Data Lake データセット内の任意のスナップショット データをクエリできます。
Basic ScheduleまたはOn Demandを選択できます。
Basic Schedule を使用すると、利用可能なスナップショットからデータを自動的に取り込む頻度を定義できます。 次のスケジュールから選択する必要があります。 バックアップ スケジュールと同様のSnapshot Scheduleを選択します。
毎日
毎週土曜日
月末日
たとえば、 Every day
を選択した場合、ポリシーでDaily
バックアップ スケジュールを構成する必要があります。 または、1 週間に 1 回のスケジュールを選択する場合は、ポリシーでWeekly
バックアップ スケジュールを設定する必要があります。 詳細については、「バックアップ スケジュール」を参照してください。 Data Lake パイプラインで使用できるバックアップ スケジュール ポリシー項目のリストを取得するには、 Data LakeのavailableSchedulesエンドポイントにGET
リクエストを送信します。
例
このチュートリアルでは、バックアップ スケジュールがまだない場合は、 Snapshot ScheduleドロップダウンからDailyを選択します。 バックアップ スケジュールがある場合、使用可能なオプションは、バックアップ スケジュールに設定したスケジュールに基づいています。
On Demand を使用すると、利用可能なスナップショットからのデータの取り込みをいつでも手動でtriggerできます。
例
このチュートリアルでは、On Demand を選択した場合、パイプラインを作成した後、スナップショットからのデータの取り込みを手動でtriggerする必要があります。 詳しくは、「オンデマンドでのデータ取り込み - trigger 」を参照してください。
Amazon Web Services抽出したデータを保存する リージョンを選択します。
Atlas Data Lakeは、次のAmazon Web Servicesリージョンで最適化されたストレージを提供します。
Data Lake リージョン | AWS リージョン |
---|---|
Virginia, USA | us-east-1 |
米国ワシントン州 | us-west-2 |
サンパウロ(ブラジル) | sa-east-1 |
アイルランド | eu-west-1 |
英国(ソウル) | eu-west-2 |
フランクフルト(ドイツ) | eu-central-1 |
ムバイ(インド) | ap-outth-1 |
香港 | ap-sautheast-1 |
オーストラリア、シドニー | ap-sautheast-2 |
デフォルトでは、Atlas Data Lake は、抽出されたデータを保存するために、Atlas クラスターに最も近いリージョンを自動的に選択します。 Atlas Data Lake がリージョンを判断できない場合、デフォルトはus-east-1
になります。
パーティションを作成するには、コレクション内のフィールドを指定します。
Partition Attributesセクションの コレクションから最も頻繁にクエリされるフィールドを入力します。 ネストされたフィールドを指定するには、ドット表記を使用します。 ドット表記を使用して指定するネストされたフィールドの前後に引用符を含めないでください( ""
)。 配列内でフィールドを指定することはできません。 指定されたフィールドは、データのパーティション分割に使用されます。
警告
パーティション分割にはピリオド( .
)を含むフィールド名は指定できません。
最も頻繁にクエリされるフィールドは、リストの下に表示されているフィールドよりもパフォーマンスとコストへの影響が大きいため、上部に表示する必要があります。 フィールドの順序は、複合インデックスの場合と同様に重要です。 データは、最初のフィールド、その後 2 番目のフィールドという順にクエリ用に最適化されます。
例
Most commonly queried fieldフィールドにyear
を入力し、 Second most commonly
queried fieldフィールドにtitle
を入力します。
Atlas Data Lake は、 year
フィールド、その後にtitle
フィールドのパフォーマンスを最適化します。 Data Lake データセットにフェデレーティッドデータベースインスタンスを構成すると、Atlas Data Federation は次のフィールドに対するクエリのパフォーマンスを最適化します。
year
フィールドyear
フィールドとtitle
フィールド。
Atlas Data Federation は、 title
フィールドのみのクエリもサポートできます。 ただし、この場合、クエリがtitle
フィールドのみにある場合のように、Atlas Data Federation はクエリをサポートする際に効率的ではありません。 パフォーマンスは順番に最適化されます。クエリが特定のパーティションを省略する場合、Atlas Data Federation はそれに続くパーティションの使用効率を低下させます。
ここで指定されていないフィールドに対して Atlas Data Federation のクエリを実行できますが、Atlas Data Lake はこのようなクエリを処理するのは効率が低くなります。
(任意)除外するドキュメント内のフィールドを指定します。
デフォルトでは、Atlas Data Lake はコレクション内のドキュメント内のすべてのフィールドを抽出して保存します。 除外するフィールドを指定するには:
[Add Field] をクリックします。
Add Transformation Field Nameウィンドウにフィールド名を入力します。
例
(任意)
movies
コレクションでfullplot
という名前のフィールドを除外するには、fullplot
と入力します。[Done] をクリックします。
除外するフィールドごとに手順を繰り返します。 このリストからフィールドを削除するには、次をクリックします: 。
次のステップ
Data Lake パイプラインを作成したので、「 データセット用のフェデレーティッドデータベースインスタンスの設定 - プレビュー 」に進みます。