我的hadoop数据看起来像这样:
DUMP EmailData; (电子邮件,州名称)(allen @ a.com,加州) (bobby@b.com,亚利桑那州)(cindy @ c.com,纽约)
DUMP StateData; (StateCode,Lon,Lat)(AZ,-111.93248,34.17163)(纽约, -75.810280,42.75633)(CA,-11.2.25700,37.26842)
我想按照以下方式做点什么:
Locations = JOIN EmailData BY StateName, StateData BY StateCode;
但显然你无法将名称与代码匹配。 如果它是SQL,我会使用case语句或定义一个表并插入可以桥接我想要的关系的值。
在Pig中执行此操作的最佳方式是什么?
答案 0 :(得分:1)
最简单,最快捷的方法就是快速将50行(或更多,取决于DC或任何地区的存在)文件转换为名称和JOIN
文件。如果你是感觉雄心勃勃并且不想处理额外的文件,你可以编写一个UDF进行翻译,数据是硬编码的。由于这些数据变化很慢,硬编码并不是什么大不了的事。