取り込む行を選択
ベータ版
この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。「Databricks プレビューの管理」を参照してください。
適用対象 : APIベースのパイプラインオーサリング
行フィルタリングを使用すると、SQL WHERE句に似た条件を適用して、必要なデータのみを取り込むことができます。これにより、パフォーマンス (特にヒストリカルデータの初期ロード) が向上し、データの重複 (特に開発環境) が最小限に抑えられます。
サポートされているコネクタ
- Googleアナリティクス
- Salesforce
- ServiceNow
行フィルタリングの仕組み
行フィルタリングは SQL のWHEREフィルタのように動作します。ソース内の値を整数、ブール値、文字列、その他のデータ型と比較できます。複雑な句の組み合わせを使用して、必要なデータのみを取得することもできます。
行フィルタリングは、初期ロードと後続の増分更新の両方に適用されます。
制限事項
行フィルタリングには次の制限があります。
-
Salesforce : 行フィルタリングは、主キー (ID、使用可能な場合) とカーソル列の 2 つの列でのみサポートされます。コネクタは、次のリストからカーソル列を優先順位に従って選択します:
SystemModstamp、LastModifiedDate、CreatedDate、LoginTime。 -
サービスナウ :
AND演算子のみがサポートされています。OR演算子は現在利用できません。たとえば、u_age = 40 AND u_active = TRUE機能しますが、u_age = 40 OR u_active = TRUEは機能しません。- フィルター内のタイムスタンプは次の形式である必要があります:
YYYY-MM-DD HH: mm:SS(例:2004-03-02 17:14:59)。
-
行またはクエリの更新 : コネクタは、最初のロードで行がフィルターに一致しても行を削除しませんが、行またはクエリのいずれかが更新されて、後続のロードでは一致しなくなります。また、コネクタは、以前のパイプライン更新ではクエリと一致しなかったが、後続の更新では一致する行も取り込みません。
行フィルタリングを構成する
行フィルタリングを使用してパイプラインを構成するには、パイプライン仕様にrow_filter構成を追加します。例えば:
pipeline_spec = """
{
"name": "...",
"ingestion_definition": {
"connection_name": "...",
"objects": [
{
"table": {
"source_schema": "...",
"source_table": "...",
"destination_catalog": "...",
"destination_schema": "...",
"destination_table": "...",
"table_configuration": {
"row_filter": "details go here; see examples below"
}
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
例
- Salesforce
- Google Analytics
- ServiceNow
特定のシステムタイムスタンプ以降のデータを取り込みます 。
"row_filter": "SystemModstamp > '2025-06-10T23:40:11.000-07:00'"
特定の行を取り込む :
"row_filter": "Id = 'a00Qy00000vps2NIAQ'"
特定のイベントタイムスタンプ以降のデータを取り込む :
"row_filter": "event_timestamp > 1712224270703246"
アクティブユーザーのデータを取り込む :
"row_filter": "is_active_user = TRUE"
非ウェブプラットフォームのデータの取り込み :
"row_filter": "platform != 'WEB'"
複数の条件でデータを取り込む :
"row_filter": "event_timestamp > 1712224270703246 AND (platform != 'WEB' OR is_active_user = FALSE)"
特定のイベントタイムスタンプ以降のデータを取り込む :
"row_filter": "sys_updated_on > 2004-03-02 17:14:59"
アクティブユーザーのデータを取り込む :
"row_filter": "u_active = TRUE"
特定のユーザーのデータを取り込む :
"row_filter": "u_name = 'johnsmith'"
複数の条件でデータを取り込む :
"row_filter": "u_active = TRUE AND u_name = 'johnsmith'"
サポートされている演算子
次の表は、行フィルタリングにサポートされている演算子を示しています。
オペレーター | サポートされている |
|---|---|
| はい |
| Salesforce と Google アナリティクスのみ |
| はい |
| はい |
| No |
| No |
| はい |
| はい |
よくある質問
行フィルタリングに関するよくある質問への回答を見つけます。
行が最初のロード時に行フィルターに一致しなかったが、後続のロードで一致するように更新された場合はどうなりますか?
行は次のパイプライン更新時に取り込まれます。更新は必要ありません。
行が初期ロード時に行フィルターと一致したが、後で更新されて一致しなくなった場合はどうなりますか?
次のパイプライン更新時に行は削除されません。
クエリを更新し、以前は取り込まれなかった行が一致するようになった場合はどうなりますか?
次のパイプライン更新時に行は取り込まれません。これには完全な更新が必要です。
クエリを更新し、以前に取り込まれた行が一致しなくなった場合はどうなりますか?
次のパイプライン更新時に行は削除されません。