String 在pig中转换状态名称的最佳方法
我在hadoop中有如下数据: 转储电子邮件数据;(电子邮件,州名)(allen@a.com(加利福尼亚州) (bobby@b.com(亚利桑那州)(cindy@c.com,纽约) 转储状态数据;(州代码,伦敦,拉脱维亚)(亚利桑那州-111.93248,34.17163)(纽约州, -75.810280,42.75633)(约-119.25700,37.26842) 我想做以下几点:String 在pig中转换状态名称的最佳方法,string,apache-pig,String,Apache Pig,我在hadoop中有如下数据: 转储电子邮件数据;(电子邮件,州名)(allen@a.com(加利福尼亚州) (bobby@b.com(亚利桑那州)(cindy@c.com,纽约) 转储状态数据;(州代码,伦敦,拉脱维亚)(亚利桑那州-111.93248,34.17163)(纽约州, -75.810280,42.75633)(约-119.25700,37.26842) 我想做以下几点: Locations = JOIN EmailData BY StateName, StateData BY S
Locations = JOIN EmailData BY StateName, StateData BY StateCode;
但很明显,你不能把名字和代码匹配起来。
如果是SQL,我要么使用case语句,要么定义一个表并插入可以桥接所需关系的值
在Pig中执行此操作的最佳方法是什么?最简单、最快的方法就是快速组合一个50行(或更多,取决于DC或任何地区)文件,将代码转换为名称,然后将其加入。如果您有雄心壮志,不想处理额外的文件,您可以编写一个UDF来进行翻译,并将数据硬编码。由于这些数据变化非常缓慢,因此硬编码并不是什么大问题