執筆時点では2025年のEsri International User Conferenceの翌週であり、Esriショーケースで一週間にわたりArcGIS Data InteroperabilityとETL Patternsのトピックを取り上げてきましたが、インバウンドデータフローに関する最も関心が高かったのは外部データからホストされたfeature servicesを維持することでした。 この投稿では以前ブログに書いたテクニックを重要なアップデートとともに紹介します。 大量変更検出を最も効率的に行う方法についてですので、ぜひ読み進めてください。<\/P>
ここで扱うデータはロサンゼルス市の住所データで、市が親切にもオープンデータサイトで公開しています。 この住所データは毎日更新されています。<\/P>
ビバリーヒルズはロサンゼルスには含まれません<\/span><\/span><\/P>データ統合戦略にはさまざまなアプローチがあり、一般的に複数の「正解」が存在します。今年初めに私のEsri同僚によるプレゼンテーションを見ると良い概要が得られます。 私の扱うデータの場合、プレゼンテーションで議論されたすべてのオプション(ArcGIS ModelBuilder、pythonスクリプト、pythonノートブック、ArcGIS Data Pipelines、およびArcGIS Data Interoperability)はすべて有効なアプローチです。<\/P>しかしここはData Interoperabilityコミュニティスペースなので、そのオプションに焦点を当てて処理のヒントをお伝えします。 上記リンク先のプレゼンテーションでも聞けるように、ホストされたfeature serviceを維持することは非常に一般的であり、その間のダウンタイムを最小限に抑えることが重要です。 一つの方法は2つのfeature servicesを維持し、一方ずつ編集してからソースを入れ替えることです。 しかしArcGIS Data Interoperabilityを使う場合は別の選択肢があります。ChangeDetectorトランスフォーマーで、追加・更新・削除されたレコードのみを含むトランザクションを非常に迅速に導き出せます。これはほぼ常に非常に効率的なトランザクションです。<\/P>ただし既存データと新しい大量データをトランスフォーマーに渡して差分トランザクションを計算させる必要があります! 私がお勧めする方法は以下の通りです:<\/P>
ウェブ接続を使って変更を駆動する<\/span><\/span><\/P>ETLワークスペースFMWソースは投稿ダウンロード内にあります。<\/P>新しい受信データをダウンロードで取得することは避けられませんが、ターゲットfeature serviceの現在状態をストリーミングする(比較的遅い)代わりに、ポータルにファイルジオデータベースエクスポートを生成させ、それをダウンロードできます。 エクスポートジョブ呼び出しにはトークンが必要ですが、私の組織のように多要素認証(MFA)を強制している場合は生成が難しいです。 コツはエクスポートジョブ開始とジョブステータス確認を行うカスタムループトランスフォーマー内のHTTPCallerトランスフォーマーでウェブサービス認証を使用することです。 ウェブサービス認証は裏側でトークンを供給するため、HTTP URLパラメーターとしてトークンを渡す必要がありません。これがこの手法の中心的なコツです。<\/P>上記ワークスペース画像からわかるように、ロサンゼルス住所の日次変更トランザクションは数分間データ読み込み後の非常に小さなトランザクションです。 ログファイル(表示していません)によると67件のフィーチャーがトランザクションに参加し、所要時間は0.5秒でした。<\/P>