Изначально у меня есть полный файл для таблицы sap MCHB (около 50 ГБ данных), который выглядит как
<table><tr>
<td>MANDT </td>
<td>MATNR </td>
<td>WERKS </td>
<td>LGORT</td>
<td>CHARG </td>
<td>QTY</td></tr>
<tr><td>MA1 </td><td> MT1 </td><td> W1 </td><td>L1 </td><td>C1 </td><td>100 </td></tr>
<tr><td>MA1 </td><td> MT1 </td><td> W1 </td><td>L2 </td><td>C2 </td><td>200 </td></tr>
<tr><td>MA1 </td><td> MT1 </td><td> W1 </td><td>L3 </td><td>C1 </td><td>300 </td></tr>
<tr><td>MA2 </td><td> MT2 </td><td> W2 </td><td>L1 </td><td>C1 </td><td>100 </td></tr>
<tr><td>MA2 </td><td> MT2 </td><td> W2 </td><td>L3 </td><td>C2 </td><td>200 </td></tr>
<tr><td>MA3 </td><td> MT2 </td><td> W2 </td><td>L1 </td><td>C1 </td><td>100 </td></tr>
<tr><td>MA4 </td><td> MT2 </td><td> W2 </td><td>L3 </td><td>C2 </td><td>300 </td></tr>
</table>
MANDT, MATNR, WERKS, LGORT, CHARG являются первичными ключами для этой таблицы.
тогда мне нужно сделать операцию агрегирования в этой таблице относительно MATNR, WERKS
финальный стол выглядит как
<table>
<tr><td>MATNR</td> <td> WERKS </td> <td> QTY </td></tr>
<tr><td>MT1 </td> <td> W1 </td> <td> 600 </td></tr>
<tr><td>MT2 </td> <td> W2 </td> <td> 700 </td></tr>
</table>
после этого каждые 15 минут я получаю дельта-файлы для одной и той же таблицы.
и в дельте может быть изменение в qty для KEY, или может быть добавлено новое qty, соответствующее MATNR, WERKS
DELTA FILE(around 10 gb)
<table>
<tr><td>MANDT</td> MATNR<td> WERKS </td > <td>LGORT</td> <td>CHARG </td> <td>QTY</td></tr>
<tr><td>MA1 </td> <td> MT1</td> <td>W1</td> <td> L2</td><td> C2 </td> <td> 100</td></tr>
<tr><td>MA4 </td> <td> MT2</td> <td>W2</td> <td> L4</td><td> C5 </td> <td> 400</td></tr>
</table>
ЗАКЛЮЧИТЕЛЬНЫЙ СТОЛ ПОСЛЕ СЛИЯНИЯ, ПОЛНОГО С DELTA (около 50 ГБ)
<table>
<tr><td>MATNR </td><td>WERKS </td><td>QTY </td></tr>
<tr><td>MT1 </td><td>W1 </td><td>500 </td></tr>
<tr><td>MT2 </td><td>W2 </td><td>1100 </td></tr>
</table>
для MT2, W2 добавляется новый ключ с количеством 400, поэтому 700 + 400 = 1100
для MT1, W1 есть обновление в существующем ключе, поэтому 600-200 + 100 = 500
эти qtys продолжают обновляться или может появиться новая запись, соответствующая matnr, в новых дельта-файлах.
полный размер файла (приблизительно) - 50 ГБ
размер дельта-файла (приблизительно) -10 ГБ
Может ли кто-нибудь помочь мне с этой проблемой, если это возможно сделать с помощью потоковой передачи искры или любым другим способом ее решения.
Существует также ограничение по времени на обработку дельта-файлов (около 1 минуты).