2015-05-01 6 views
1

У меня есть 3 набора данных, каждый из которых имеет 415 ГБ данных и разных доменов.Как достичь союза Все в свинье?

Мне нужно объединить все из них с помощью свиньи, но все, что я могу использовать, союз, который запускает редукторы в конце задания, чтобы удалить отдельные значения.

a = union a1, a2 
data = union a, a3 

Есть ли способ пропустить часть редуктора, поскольку данные уже различны.

ответ

0

Из документов на UNION:

Используйте оператор UNION, чтобы объединить содержимое двух или более отношений. Оператор UNION:

  • Не сохраняет порядок кортежей. Как входные, так и выходные отношения интерпретируются как неупорядоченные пакеты кортежей.
  • Не гарантирует (как базы данных), что все кортежи придерживаются той же схемы или что имеют одинаковое количество полей. Однако в типичном сценарии это должно быть так; поэтому ответственность за лежит на пользователе (1), чтобы кортежи во входных отношениях имели одну и ту же схему или (2) могли обрабатывать различные кортежи на выходе .
  • Не устраняет дубликаты кортежей.

Упор мой. Это указывает на то, что для завершения UNION не понадобится переходный этап, поскольку ему не нужно удалять повторяющиеся строки. Вы уверены, что работа редуктора является результатом UNION? Это может быть результат другого оператора.

БОНУС: Вы можете упростить свой пример:

B = UNION a1, a2, a3 ; 
+0

Я не уверен, но сценарий, который я бегу только имея объединение трех различных файлов. –

Смежные вопросы