Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在pig中转换状态名称的最佳方法_String_Apache Pig - Fatal编程技术网

String 在pig中转换状态名称的最佳方法

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

我在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 StateCode;
但很明显,你不能把名字和代码匹配起来。 如果是SQL,我要么使用case语句,要么定义一个表并插入可以桥接所需关系的值


在Pig中执行此操作的最佳方法是什么?

最简单、最快的方法就是快速组合一个50行(或更多,取决于DC或任何地区)文件,将代码转换为名称,然后将其加入。如果您有雄心壮志,不想处理额外的文件,您可以编写一个UDF来进行翻译,并将数据硬编码。由于这些数据变化非常缓慢,因此硬编码并不是什么大问题