Comiesięczne pozyskiwanie danych z ponad 60 źródeł dla amerykańskiego agregatora danych

Cel i oczekiwania klienta

Przegląd comiesięcznego procesu pozyskiwania danych

Klient to amerykańska firma zajmująca się agregacją danych, oferująca produkt skierowany do konsumentów. Chciała rozszerzyć swoją ofertę o nową funkcję wyszukiwania opartą na dodatkowej kategorii publicznie dostępnych danych. Dane te nie były częścią istniejącego pipeline’u i wymagały nowego podejścia do ich pozyskiwania i przetwarzania.

Wymagania klienta:

  • Comiesięczny, gotowy do użycia produkcyjnego zbiór danych z ponad 60 stron internetowych
  • Stały schemat CSV, aby uniknąć zmian w dalszych etapach pipeline’u
  • Ciągły monitoring procesu ładowania danych
  • Optymalizacja procesu w celu poprawy jakości danych

Dlaczego ten projekt był wymagający

Różnorodność źródeł

Dane pochodziły z ponad 60 publicznych stron internetowych. Każde źródło miało własną strukturę, zasady nazewnictwa i logikę dostępu. Nie istniał wspólny standard, na którym można było się oprzeć.

Dynamicznie zmieniające się strony

Strony internetowe zmieniały się bez wcześniejszego powiadomienia. Niektóre aktualizacje powodowały awarie loaderów. Inne zmieniały położenie pól, przez co system generował nieprawidłowe dane, które na pierwszy rzut oka wyglądały poprawnie.

Rozproszone rekordy

Ta sama osoba mogła występować wielokrotnie w obrębie jednego stanu i w różnych formatach. Prosta agregacja prowadziła do powstawania duplikatów i niespójności.

Stabilność schematu

Pipeline’y klienta były zależne od stałej struktury CSV. Nawet niewielkie zmiany schematu mogły zakłócić automatyczne pozyskiwanie danych i logikę wyszukiwania.

Masz podobne problemy w swoim projekcie?

Skontaktuj się z nami, aby omówić, jak możemy pomóc Ci stworzyć stabilny, długoterminowy pipeline pozyskiwania danych z przewidywalnym harmonogramem dostaw.

Rozwiązanie zastosowane w projekcie

Modularny system pozyskiwania danych z 60 publicznych stron internetowych

Zbudowaliśmy modularny system pozyskiwania danych, w którym każde publiczne źródło jest obsługiwane niezależnie. Pozwala to izolować awarie, wprowadzać ukierunkowane poprawki i zapobiegać sytuacjom, w których zmiana jednego źródła wpływa na pozostałą część pipeline’u.

Wszystkie moduły są uruchamiane i zarządzane za pomocą naszych wewnętrznych narzędzi. System kontroluje kolejność wykonywania, równoważy równoległe procesy i rozdziela obciążenie infrastruktury, dzięki czemu comiesięczne przetwarzanie pozostaje przewidywalne i kontrolowane pod względem kosztów.

Konsolidacja i normalizacja danych na potrzeby skalowalnego pozyskiwania danych internetowych

Po zebraniu dane są łączone na poziomie poszczególnych stanów. Rozproszone rekordy są grupowane, generowane są statystyki, a wewnętrzne niespójności są wykrywane jeszcze przed dostarczeniem danych.

Normalizujemy tekst, rozdzielamy złożone pola, ujednolicamy formaty i przygotowujemy rekordy do konsolidacji bez zmieniania schematu dostarczanych danych.

Monitoring i obsługa błędów podczas zaplanowanego pozyskiwania danych internetowych

Każde uruchomienie jest monitorowane na poziomie części danych i modułów. Porównujemy oczekiwane wyniki z rzeczywistymi dla każdego źródła i generujemy raporty wskazujące awarie, częściowe załadowania oraz zmiany w danych.

Każdy etap przetwarzania generuje szczegółowe logi, które przypisują błędy do konkretnego źródła, części danych i etapu wykonania. Skraca to czas analizy problemów i umożliwia wprowadzanie precyzyjnych poprawek.

Comiesięczne dostarczanie pliku CSV do S3

Finalne zbiory danych są dostarczane jako pliki CSV ze stałym schematem. Struktura, kolejność pól i formaty pozostają niezmienne z miesiąca na miesiąc, dzięki czemu klient może korzystać z danych bez wprowadzania zmian w pipeline’ie.

Od momentu uruchomienia system jest stale rozwijany. Optymalizujemy czas wykonania, ograniczamy wykorzystanie infrastruktury i udoskonalamy poszczególne etapy przetwarzania.

Rezultaty projektu

Nowy zbiór danych stał się podstawą dodatkowej funkcji wyszukiwania w produkcie konsumenckim klienta. Co równie ważne, przepływ danych okazał się stabilny w środowisku produkcyjnym.

Comiesięczne aktualizacje były dostarczane w stałej strukturze, a proces ingestion działał bez konieczności ciągłej ingerencji.

Rezultaty biznesowe:

  • Umożliwiono upselling dzięki rozszerzeniu zakresu wyszukiwania
  • Rozszerzono możliwości produktu bez konieczności przebudowy logiki ingestion
  • Zmniejszono koszty operacyjne dzięki comiesięcznym dostawom danych ze stabilnym schematem
Wartość, jaką klient uzyskuje dzięki zespołowi zarządzanemu przez NannosTech

Skontaktuj się z nami

support@nannostech.com
+48889712077