Wpis z mikrobloga

Mirki, mam pytanie początkującego, z którym w jakiś niepojęty dla mnie sposób nie jestem w stanie sobie poradzić.

Czy Spark albo Kafka same w sobie magazynują przetwarzane dane i w każdym momencie mogę się do nich odwołać? Załóżmy, że za pomocą Sparka łączę się z bazą i wykonuję transformacje do analityki. Czy na końcu pipeline zawsze musze załadować te dane to hurtowni bo po zamknięciu joba one przepadną? Jak nazywa się ten feature sparka?

#bigdata
  • 6
@Meriu:

Czy Spark albo Kafka same w sobie magazynują przetwarzane dane

Nie

Czy na końcu pipeline zawsze musze załadować te dane to hurtowni bo po zamknięciu joba one przepadną?

Tak

Chętnie bym coś wiecej pomógł ale tu nie ma nic więcej do dodania. Jest dokładnie tak jak sam napisałeś. Spark stara sie wykonywać wszystko w RAMie i fallbackuje do dysku tylko jak musi i nawet wtedy te dane są ulotne.
via Wykop Mobilny (Android)
  • 0
@Meriu: w Sparku tak naprawdę schedulujesz sekwencję transformacji która się nie wywoła dopóki nie striggerujesz akcji - zwykle tą akcją jest zapis danych do plików albo np. wypisanie dataframea w konsoli.
Jak nie wywołasz akcji to nic nie przepada bo nie ma co (nic się nie przetwarza).
Jeśli wywołasz akcję to w sumie też nic nie przepada bo akcją jest najczęściej zapis ( ͡° ͜ʖ ͡°) chyba
@Krever: @yggdrasil: @plusujemny: Dzięki za odpowiedzi. Czyli po zaczytaniu i przetworzeniu danych musze je jeszcze przesłać dalej, np do hurtowni albo tak jak pisaliście bazy danych. Gdzie zatem w przypadku wykorzystania Sparka albo Kafki pozycjonuje się ustawienie Hadoopa? Jako źródło danych, czy jako cel, czy jako oba (pobierz, przetwórz, zapisz jako np. zbiór analityczny)?

@plusujemny: Mam jeszcze pytanie pomocnicze, czy bobrze wnioskuję, że do triggerowania operacji wykonywanych za
Jako źródło danych, czy jako cel, czy jako oba


@Meriu: Możesz korzystać w oba sposoby.

Ja w jednym projekcie miałem tak:

rabbitMQ -> hadoop -> spark -> kafka -> spark -> hadoop -> spark -> hadoop