フィルターは、インポートプロセス中にデータの構造を変更または操作するために使用できます。非常に便利ですが、データ取り込みプロセスにおける役割と制限を理解することが重要です。これらのフィルタープラグインは、S3、FTP、またはSFTPコネクタで利用できます。
Treasure Dataに取り込むすべてのデータには、timeカラムが含まれている必要があります。パフォーマンスを最適化するために、すべてのTreasure Dataテーブルにはこのtimeカラムが必要です。内部的には、フィルターを使用してこのtimeカラムを追加しています。プレビューステップで、データにこのカラムが含まれていることを確認してください(フィルターで除外されていないことも確認してください)。
Import Integrationフィルターの詳細:
フィルター関数について学ぶ。
これらのフィルターは、インポート中にデータを変更するために使用できます。カラムの保持、カラムの追加、カラムの削除、JSONカラムの展開、またはカラムデータのマスキングに使用できます。データのマスキングは通常、社会保障番号などの機密情報を保護するために使用されます。TD Import Integrationを定義する際に、フィルターを操作します。

| フィルタータイプ | 説明 | ユースケース例 |
|---|---|---|
| Retain Columns | 保持したいカラムを指定するために使用します。 | 営業チームがすべてのユーザーの名前と電話番号を含むテーブルを必要としています。Webサイトからユーザー登録のデータセットをインポートできますが、そのデータセットには名前、電話番号、および不要な50個の他のカラムがあります。retainフィルターを使用すると、名前と電話番号のカラムのみを取り込むように指定できます。 |
| Add Columns | カラムを複製したり、静的な値で新しいカラムを作成するために使用します。既存のカラムをコピーして新しい値に名前を変更することもできます。 | IDが12345のFacebook Ad用に設定したジョブから取得するすべての行に、値が「12345」の「source」という名前のカラムを追加したい場合。Add Columnsフィルターでこれを実現できます。既存のカラムをコピーして新しい値に名前を変更することもできます。 |
| Drop Columns | インポートするデータからカラムを削除するために使用します。 | マーケティングチームが名前、メール、住所、電話番号、特定の設定などの顧客情報のリストを必要としており、そのデータが機密情報や不要な値も含むテーブルに存在する場合、それらのカラムを削除できます。 |
| Expand JSON | データセット内のJSONオブジェクトを複数の新しいカラムに変換します。 | {"first_name": "John", "last_name": "Doe"}のようなJSONオブジェクトを持つカラムがある場合、Expand JSONフィルターはJSONからそれらの値を抽出し、以下の新しいカラムを作成できます: first_name last_name |
| Digest | 機密情報の露出を防ぐために使用します。インポートするデータに機密または非公開と見なすカラムが含まれている場合があります。digestフィルターを使用すると、その特定のカラムのデータをハッシュ化できます。各カラムをハッシュ化するために使用するアルゴリズムを選択できます。 | マーケティングチームが社会保障番号も含む顧客連絡先情報のセグメントリストを必要としています。digestフィルターを使用してその情報を隠すことができます。 |
Import Integrationフィルターの適用について詳しく学ぶ:
フィルターはデコーダーとパーサーの後に実行されます。Treasure コンソールでは、データは最初にデコードされ、パースされ、その後フィルター処理されます。ソースデータに特定のスキーマや名前があっても、フィルターはパーサーから出力されたものだけを認識します。
Treasure コンソールでは、フィルターはData Settingsからデータを受け取ります。Data Settingsから出力されるスキーマまたは設定が、フィルターが「認識する」ものです。例えば、Data Settingsで「dogs」を「cats」に名前変更した場合、使用するフィルターでは新しいカラム名「cats」を指定する必要があります。
さらに、各フィルターは前のステップまたはフィルターから受け取ったデータに対して動作します。例えば、あるフィルターがカラム名を変更した場合、次のフィルターは前のフィルターから出力された新しい名前変更されたカラム名のみを認識します。
これを説明するために、以下のような操作を想像してみましょう:
customer_id、name、car_make、car_vinカラムを持つデータセットをインポートします。
Retain Columnsフィルターを適用して、customer_id、name、car_makeカラムのみを保持します。
Digestフィルターを(Retain Columnsフィルターの後に)適用して、car_vinカラムをマスク(またはハッシュ化)します。
これにより、car_vinカラムが存在しないという警告メッセージが表示されます。
これは、Retain Columnsフィルターが既にcar_vinカラムを削除しており、Digestフィルターは前のフィルターから出力されたものだけを認識するために発生します:
