木場で「ルックアップ」を行うことは可能ですか。
これは、etl では非常に正常なプロセスであるためです。
はいの場合、デモを見せていただけますか。ありがとうございます。
はい、Kibaでルックアップできます!
チュートリアルについては、私が記録したこのライブ コーディング セッションを参照してください。MovieDB データベースをタップして、特定のフィールドを使用して追加フィールドをルックアップするルックアップ変換を作成します。
この例を活用すると、たとえば、ブロック変換を使用して単純な ActiveRecord ルックアップを実装できます。
# assuming you have a 'country_iso_2' field in the row above
transform do |row|
country = Country.where(iso_2: row['country_iso_2']).first
row['country_name'] = country.try(:name) || 'Unknown'
row
end
または、次のように呼び出す、より再利用可能なクラス変換を抽出することもできます。
transform ActiveRecordLookup, model: Country,
lookup_on: 'country_iso_2',
fetch_fields: { 'name' => 'country_name' }
transform DefaultValue, 'name' => 'Unknown'
明らかに、大きなボリュームが必要な場合は、いくつかの改善 (キャッシュ、一括読み取りなど) を実装する必要があります。
お役に立てれば!