Извините, если я использую неправильные стандартные имена свиней, поскольку я новичок в этом.
У меня есть 2 кадра данных в Pig (X и Y). Обе имеют переменные: j1 и j2.
Я делаю следующие операции:
A = JOIN X by (j1) left outer, Y by (j1);
SPLIT A into B (IF Y::j1 IS NULL), C otherwise;
D = FOREACH B GENERATE X::j2;
Здесь, если мы делаем DUMP B, то внутри него нет данных.
Если мы делаем DUMP C, то появляются данные d1.
Но когда я делаю DUMP D, появляются те же самые данные d1, которые связаны, потому что у B не было точек данных.
Может кто-нибудь сказать, почему это происходит?
ПРИМЕЧАНИЕ: я пробовал:
Сохранение B и последующий просмотр файлов деталей вручную, но в B. ничего нет *
Я также сохранил A, затем вышел из сеанса и затем начал сеанс в grunt и Loaded A, а затем выполнил последние 2 строки кода (т.е. split и foreach). И когда я делаю это, тогда код работает должным образом, и DUMP D не показывает никаких выходных данных (что правильно).
НАЙТИ РЕШЕНИЕ:
Это была не проблема свиней. Это была проблема Jar, которую я использовал для чтения данных и, следовательно, для создания фреймов данных X и Y. По сути, Jar не смог правильно прочитать файл csv, что создает проблему в операции объединения выше.