はじめに
[データの選択]では、最後に正常に実行された後に更新されたバッチのみを読み込むことを選択するか、作成日またはパーティション名にもとづいて読み込むバッチを指定できます。組織固有のニーズに合わせてアプローチをカスタマイズできます。 パーティショニング およびその他の Magic ETLのDataSet更新方法 の構成とベストプラクティスについて説明します。 この記事では、DataFlowで[データの選択]を設定する方法を説明し、カスタム式の使用例を示します。入力DataSetの[データの選択]を設定する
Magic ETLは、DataFlowに入力DataSetを設定する際に、[すべて]、[新規]、[バッチでフィルター]の3つのデータ選択方法を提供しています。これらの方法については、次の手順で説明します。
- Data Centerに移動し、Magic ETLでデータ処理を設定するDataSetを探します。
-
[開く:] > [Magic ETL] を選択します。
Magic ETLキャンバスが開き、DataSetが入力DataSetとして表示されます。

- 入力DataSetを選択して、キャンバスの下にタイルエディターを開きます。エディターには4つのタブがあります。
-
[設定] タブで、 [データ選択] ドロップダウンを使用して、ニーズに最適な方法を選択します。
次のような方法があります。

- [すべて] — これがデフォルトの方法です。この方法を選択すると、DataSetからすべての行が読み込まれます。 自動最適化の詳細については、「 Magic ETL DataFlowの自動追加処理 」を参照してください。
-
[新規] — 最後に正常に実行された後に更新されたDataSetバッチ(再作成されたパーティションを含む)を読み込む場合は、この方法を選択します。
この方法を使用していてDataSetに置き換え操作があると、次回DataFlowを実行した時に、置き換えによるすべてのバッチと置き換え後に追加されたすべてのバッチが読み込まれます。出力は、DataFlowに保存したアクション(追加や置き換えなど)を引き続き実行します。Magic ETLの更新方法の詳細については、 こちら を参照してください。
注記: 入力DataSetのすべてのバッチを時々置き換え、DataFlow内の出力DataSetに常に追加する場合、出力DataSetに重複データがある可能性があります。
- [バッチでフィルター] — 作成日にもとづいて、またはパーティションの場合は名前にもとづいて読み込むバッチを指定する場合は、この方法を選択します。この方法を使用する場合は、下に示すエディターの [バッチでフィルター] セクション内のデータも指定する必要があります。
バッチでフィルター
[データをインポートするタイミング] ドロップダウンで、使用可能なオプションのいずれかを選択します。-
[処理済みデータ] — 特定の処理日を使用してデータを読み込みます。次に、 [日付] フィールドで目的のロジックを定義します。例: 過去5日間のデータ 。

-
[カスタマイズされた数式]— カスタマイズされた数式を使用してデータを読み込みます。自由形式フィールドを使用して、数式を作成します。次の表に、カスタマイズされた数式の記述に使用できる値についての情報を示します。
DataSetをパーティショニングする場合、プロセスはデータ自体の値ではなくDataSetのメタデータにもとづきます。つまり、DataSetのサブセットを定義するときは、データ内の特定の値を選択するのではなく、データを定義するメタデータのサブセットを選択することになります。


- [データ処理] の設定に変更を加えます。
- DataFlowを保存します。プレビューを実行して設定をテストできます。
使用事例
この画像のスクリプト(下のコードサンプル)は、入力DataSetが日付でパーティショニングされていることを前提としています。つまり、データは日付にもとづいて異なるパーティションに分割されるため、スクリプトは日付関連の関数を使用してデータをフィルターできます。パーティショニングの詳細については、 こちら を参照してください。