1

所以我有两个关系:

  • 按 GUID 和 URL 计算的综合浏览量pv_counts
  • 相同 GUID 和 url 的事件ev_counts

我正在尝试加入他们joined_counts = JOIN ev_counts BY ev_site_guid, pv_counts BY pv_site_guid;,但我不断收到此错误:

ERROR 2087:优化期间出现意外问题。在多个 LocalRearrange 运算符中找到 index:0。

我试过使用 Pig 10 和 Pig 11,但都返回相同的错误。

我已经用谷歌搜索了它,但我主要只是想出 Pig 源代码,而不是解释它是什么或意味着什么。我已经尝试确保键中没有任何空值或空字符串

有人知道我做错了什么吗?

这是架构和一些示例数据:

pv_counts

describe pv_counts;
{group::pv_site_guid:chararray, group::pv_hostname:chararray, pv_count:long}

dump pv_counts;

(bSAw-mF-0r4Q-4acwqm_6r,example-url.com,10)
(bSAw-mF-0r4Q-4acwqm_6r,sports.example-url.com,10)
(bSAw-mF-0r4Q-4acwqm_6r,opinion.example-url .com,10)
(bSAw-mF-0r4Q-4acwqm_6r,newsinfo.example-url.com,10)
(bSAw-mF-0r4Q-4acwqm_6r,lifestyle.example-url.com,10)
.... 更多浏览量比事件....
(dZiLDGjsGr3O3zacn9QLBk,example-url2.com.com,10)
(dZiLDGjsGr3O3zacn9QLBk,example-url3.com,10)

ev_counts

describe ev_counts;
{group::ev_site_guid:chararray, group::ee_hostname:chararray, ev1count:long, ev2count:long, ev3count:long, ev4count:long, ev5count:long}

dump ev_counts;

(bSAw-mF-0r4Q-4acwqm_6r,example-url.com,29,0,0,0,0)
(bSAw-mF-0r4Q-4acwqm_6r,sports.example-url.com,7,0,0,0, 0)
(bSAw-mF-0r4Q-4acwqm_6r,lifestyle.example-url.com,2,0,0,0,0)
.... 事件数不如网页浏览量 ....
(dZiLDGjsGr3O3zacn9QLBk,example-url2. com.com,0,0,37,0,0)
(dZiLDGjsGr3O3zacn9QLBk,example-url3.com,0,0,1,0,0)

我可以在 Pig 和 Grunt 中很好地转储关系。

当我添加以下连接语句时,它会走到最后并死掉:

joined_counts = JOIN ev_counts BY ev_site_guid, pv_counts BY pv_site_guid; dump joined_counts;

它会抛出“错误 2087:优化期间出现意外问题。在多个 LocalRearrange 运算符中找到索引:0。” 错误和丑陋的堆栈跟踪。我对猪比较陌生,所以我从来没有研究过它的内部结构。

如果有人有任何提示或尝试的东西,我很乐意尝试。我们在 Cloudera 的 CDH3U3 (0.20.2) 上运行。

4

0 回答 0