Apache pig 如何简化相同的方法调用

Apache pig 如何简化相同的方法调用,apache-pig,Apache Pig,你好,我有以下清管器代码: leafNodes = FOREACH records GENERATE 'buckets' AS bucket_url, MultiConcat(localziedName, ' in ', localizedLocation) AS title, ToJSONString( 'url', url, 'title', MultiConcat(localziedName, ' in ', localizedLocation) )

你好,我有以下清管器代码:

leafNodes = FOREACH records GENERATE
  'buckets' AS bucket_url,
  MultiConcat(localziedName, ' in ', localizedLocation) AS title,
  ToJSONString(
      'url', url,
      'title', MultiConcat(localziedName, ' in ', localizedLocation)
  ) AS link_json;

相同的
multiccat(localziedName,'in',localizedLocation)
调用进行了两次。那么,有没有一种方法可以使用variable或类似的东西将调用减少到一次呢?

我找到了一种方法。基本上,只需在GENERATE语句之前创建一个变量。代码如下:

leafNodes = FOREACH records {
  title = MultiConcat(localziedName, ' in ', localizedLocation);
  GENERATE
  'buckets' AS bucket_url,
  title,
  ToJSONString(
      'url', url,
      'title', title
  ) AS link_json;
}

你试过用title替换第二个电话吗?是的,我试过了。它不起作用。