是否可以使用 Kiba 进行“查找”。
因为这在 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'
显然,如果您需要大容量,您将不得不实施一些改进(例如缓存、批量读取)。
希望这可以帮助!