У меня есть 2 таблицы для присоединения, это Left Join
. Ниже приведены два условия, как работает мой конвейер.
Задание выполняется в пакетном режиме и содержит все данные пользователя, и мы хотим обработать его в потоке данных Google.
День 1 :
Таблица A: 5000000 записей. (Размер 3 ТБ)
Таблица B: 200 записей. (Размер 1 ГБ)
Обе таблицы объединены через SideInput
, где TableB
Данные были приняты как SideInput
, и они работали нормально.
День 2:
Таблица A: 5000010 записей. (Размер 3.001 ТБ)
Таблица B: 20000 записей. (Размер 100 ГБ)
Во второй день мой конвейер замедляется, потому что SideInput
использует кэш, а мой размер кэша исчерпан, из-за увеличения TableB
.
Итак, я попытался Использование Co-Group by
, но Day 1
обработка данных была довольно медленной с журналом: Having 10000 plus values on Single Key.
Так есть ли более эффективный способ выполнить соединение, когда будет введена горячая клавиша.