所以我有两个关系:
- 按 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) 上运行。