Standaryzacja danych
Dane docierają do kont usługi Data Lake w różnych formatach. Te formaty obejmują formaty czytelne dla człowieka, takie jak JSON, . Pliki CSV lub XML oraz skompresowane formaty binarne, takie jak .tar lub .gz. Przychodzące dane są również dostępne w wielu rozmiarach— od kilku edytowanych plików do eksportu całej tabeli SQL. Dane mogą również pochodzić jako duża liczba małych plików, które stanowią kilka kb sztuk, takich jak zdarzenia w czasie rzeczywistym z rozwiązania IoT.
Chociaż usługa Azure Data Lake Storage Gen2 obsługuje magazyn dla wszystkich rodzajów danych bez ograniczeń, należy dokładnie rozważyć formaty danych, aby zapewnić wydajność potoku przetwarzania i zoptymalizować koszty.
Wiele organizacji standandaryzuje teraz format pozyskiwania i oddziela zasoby obliczeniowe od magazynu. W związku z tym format usługi Delta Lake stał się preferowanym standardem pozyskiwania danych do warstwy wzbogacania. Z poziomu warstwy wzbogacania zespół aplikacji danych może udostępniać dane w formacie, który odzwierciedla ich przypadek użycia.
Uwaga
Usługa Delta Lake umożliwia obsługę przypadków użycia zarówno wsadowych, jak i przesyłanych strumieniowo na potrzeby początkowego pozyskiwania danych w celu wzbogacania warstwy.
Ten artykuł zawiera omówienie usługi Delta Lake, jej wydajności i sposobu, w jaki pomaga ona zapewnić obsługę zgodności oraz sposób standaryzacji danych w miarę ich przepływu ze źródła do warstwy wzbogacania.
Delta Lake
Delta Lake to warstwa magazynu typu open source, która zapewnia transakcje ACID (niepodzielność, spójność, izolacja i trwałość) do obciążeń danych big data i platformy Apache Spark. Usługi Azure Synapse Analytics i Azure Databricks są zgodne z usługą Delta Lake platformy Linux Foundation.
Najważniejsze funkcje usługi Delta Lake
Funkcja | opis |
---|---|
Transakcje ACID | Magazyny data lake są zwykle wypełniane za pośrednictwem wielu procesów i potoków, z których niektóre zapisują dane współbieżnie przy użyciu operacji odczytu. Inżynierowie danych korzystali z ręcznego, podatnego na błędy procesu w celu zapewnienia integralności danych przed rozpoczęciem korzystania z usługi Delta Lake i transakcji. Usługa Delta Lake oferuje znane transakcje ACID do magazynów danych. Zapewnia najsilniejszy poziom izolacji, serializację. Aby uzyskać więcej informacji, zobacz Nurkowanie w usłudze Delta Lake: rozpakowywanie dziennika transakcji. |
Skalowalna obsługa metadanych | W danych big data nawet metadane mogą być "danymi big data". Usługa Delta Lake traktuje metadane tak samo jak inne dane. Używa ona rozproszonej mocy obliczeniowej platformy Spark do obsługi wszystkich metadanych. W związku z tym usługa Delta Lake może łatwo obsługiwać tabele petabajtowe z miliardami partycji i plików. |
Podróż w czasie (przechowywanie wersji danych) | Możliwość "cofania" zmiany lub powrotu do poprzedniej wersji jest kluczową funkcją transakcji. Usługa Delta Lake udostępnia migawki danych, które umożliwiają przywrócenie wcześniejszych wersji danych na potrzeby inspekcji, wycofywania lub odtwarzania eksperymentów. Dowiedz się więcej w temacie Introducing Delta Lake Time Travel for Large Scale Data Lake (Wprowadzenie usługi Delta Lake Time Travel na dużą skalę w usłudze Data Lake). |
Otwórz format | Apache Parquet, format punktu odniesienia dla usługi Delta Lake, umożliwia stosowanie wydajnych schematów kompresji i kodowania. |
Ujednolicona usługa Batch i źródło przesyłania strumieniowego i ujście | Tabela w usłudze Delta Lake jest jednocześnie tabelą wsadową i źródłem przesyłania strumieniowego i ujściem. Pozyskiwanie danych przesyłanych strumieniowo, wsadowe wypełnianie historyczne i interakcyjne zapytania działają poza polem. |
Wymuszanie schematu | Wymuszanie schematu pomaga upewnić się, że masz poprawne typy danych i wymagane kolumny, co zapobiega niespójności danych złych danych. Aby uzyskać więcej informacji, zobacz Nurkowanie w usłudze Delta Lake: wymuszanie schematu i ewolucja |
Ewolucja schematu | Usługa Delta Lake umożliwia automatyczne wprowadzanie zmian w schemacie tabeli bez konieczności pisania migracji DDL. Aby uzyskać więcej informacji, zobacz Nurkowanie w usłudze Delta Lake: wymuszanie schematu i ewolucja |
Historia inspekcji | Dziennik transakcji usługi Delta Lake rejestruje szczegółowe informacje o każdej zmianie wprowadzonej w danych. Te rekordy zawierają pełny dziennik inspekcji wszystkich zmian. |
Aktualizacje i usunięcia | Usługa Delta Lake obsługuje interfejsy API Języka Scala, Java, Python i SQL dla różnych funkcji. Obsługa operacji scalania, aktualizowania i usuwania pomaga spełnić wymagania dotyczące zgodności. Aby uzyskać więcej informacji, zobacz Ogłoszenie wydania usługi Delta Lake 0.6.1, ogłoszenie wydania usługi Delta Lake 0.7 oraz proste, niezawodne operacje upsert i usunięcia w tabelach usługi Delta Lake przy użyciu interfejsów API języka Python (w tym fragmentów kodu do scalania, aktualizowania i usuwania poleceń DML). |
100% zgodne z interfejsem API platformy Apache Spark | Deweloperzy mogą używać usługi Delta Lake z minimalnymi zmianami w istniejących potokach danych, ponieważ jest ona w pełni zgodna z istniejącymi implementacjami platformy Spark. |
Aby uzyskać więcej informacji, zobacz Projekt usługi Delta Lake.
Aby uzyskać pełną dokumentację , odwiedź stronę dokumentacji usługi Delta Lake
Wydajność
Użycie wielu małych plików często skutkuje nieoptymalną wydajnością i wyższymi kosztami ze zwiększonych operacji odczytu/listy. Usługa Azure Data Lake Storage Gen2 jest zoptymalizowana pod kątem większych plików, które umożliwiają szybsze uruchamianie zadań analitycznych i niższe koszty.
Usługa Delta Lake zawiera wiele funkcji, które mogą pomóc w optymalizacji wydajności za pomocą zarządzania plikami.
Oto kilka przykładów:
- Dziennik transakcji minimalizuje kosztowne operacje LIST.
- Funkcja porządkowania Z (klastrowanie wielowymiarowe) umożliwia zoptymalizowane wypychanie predykatu dla filtrów zapytań.
- Natywne buforowanie i optymalizacje zapytań zmniejszają wymaganą ilość wymaganego skanowania magazynu. Aby uzyskać więcej informacji, zobacz Optymalizowanie wydajności za pomocą buforowania.
- OPTYMALIZACJA umożliwia łączenie małych plików z większymi plikami.
Ustaw te optymalizacje jako część procesu ładowania danych, aby zachować świeżość i wydajność danych.
Partycjonowanie w usłudze Data Lake
Partycjonowanie danych obejmuje organizowanie danych w magazynie danych, dzięki czemu można zarządzać danymi na dużą skalę i kontrolować dostęp do danych. Partycjonowanie może zwiększyć skalowalność, zmniejszyć stopień rywalizacji o zasoby i zoptymalizować wydajność.
Podczas partycjonowania usługi Data Lake upewnij się, że konfiguracja:
- Nie narusza zabezpieczeń
- Ma wyraźną izolację i jest zgodny z modelem autoryzacji danych
- Pasuje do dobrze procesu pozyskiwania danych
- Ma dobrze zdefiniowaną ścieżkę do optymalnego dostępu do danych
- Obsługuje zadania zarządzania i konserwacji
Ogólne praktyki
Ogólne rozwiązania dotyczące projektowania partycjonowania danych to:
- Skoncentruj się na wczesnej implikacji zabezpieczeń i zaprojektuj partycje danych wraz z autoryzacją.
- Możesz zezwolić na nadmiarowość danych w zamian za zabezpieczenia.- Zdefiniuj konwencję nazewnictwa i zastosuj się do niej.
- Można zagnieżdżać wiele folderów, ale zawsze zachować ich spójność.
- Uwzględnij element czasu w strukturach folderów i nazwach plików.
- Nie uruchamiaj struktury folderów z partycjami dat. Lepiej zachować daty na niższym poziomie folderu.
- Nie łącz mieszanych formatów plików ani różnych produktów danych w jednej strukturze folderów.
Napiwek
Struktury folderów powinny mieć strategie partycjonowania, które mogą zoptymalizować wzorce dostępu i odpowiednie rozmiary plików. W strefach wyselekcjonowanych zaplanuj strukturę na podstawie optymalnego pobierania, należy zachować ostrożność podczas wybierania klucza partycji o wysokiej kardynalności, co prowadzi do nadmiernego partycjonowania, co z kolei prowadzi do nieoptymalnych rozmiarów plików.
Aby uzyskać więcej informacji na temat stref data lake, zobacz Strefy i kontenery usługi Data Lake
Obsługa zgodności
Usługa Delta Lake dodaje warstwę transakcyjną w celu zapewnienia zarządzania danymi ustrukturyzowanymi na podstawie magazynu data lake. To dodanie może znacznie uprościć i przyspieszyć możliwość lokalizowania i usuwania danych osobowych (nazywanych również "danymi osobowymi") na żądanie konsumenta. Warstwa transakcyjna obsługuje operacje, takie jak DELETE, UPDATE i MERGE. Aby uzyskać więcej informacji, zobacz Najlepsze rozwiązania: zgodność z RODO przy użyciu usługi Delta Lake.
Podsumowanie
Zastosuj standaryzacje danych wymienione w tym artykule do platformy. Zacznij od formatu usługi Delta Lake, a następnie zacznij dodawać procesy optymalizacji i zgodności. Możesz zdecydować się na utworzenie usługi, która uruchamia niektóre trasy optymalizacji zgodnie z harmonogramem, lub utworzyć usługę zgodności, która usuwa dane osobowe.