Udostępnij za pośrednictwem


Najlepsze rozwiązania dotyczące zapisywania plików w usłudze Data Lake za pomocą przepływów danych

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

Jeśli jesteś nowym użytkownikiem usługi Azure Data Factory, zobacz Wprowadzenie do usługi Azure Data Factory.

W tym samouczku poznasz najlepsze rozwiązania, które można zastosować podczas zapisywania plików w usłudze ADLS Gen2 lub Azure Blob Storage przy użyciu przepływów danych. Będziesz potrzebować dostępu do konta usługi Azure Blob Storage lub konta usługi Azure Data Lake Store Gen2 w celu odczytania pliku parquet, a następnie zapisania wyników w folderach.

Wymagania wstępne

  • Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
  • Konto usługi Azure Storage. Magazyn usługi ADLS jest używany jako magazyn danych źródłowych i ujścia . Jeśli nie masz konta magazynu, utwórz je, wykonując czynności przedstawione w artykule Tworzenie konta magazynu platformy Azure.

W krokach opisanych w tym samouczku przyjęto założenie, że masz

Tworzenie fabryki danych

W tym kroku utworzysz fabrykę danych i otworzysz środowisko użytkownika usługi Data Factory, aby utworzyć potok w fabryce danych.

  1. Otwórz przeglądarkę Microsoft Edge lub Google Chrome. Obecnie interfejs użytkownika usługi Data Factory jest obsługiwany tylko w przeglądarkach internetowych Przeglądarki Microsoft Edge i Google Chrome.

  2. W menu po lewej stronie wybierz pozycję Utwórz zasób>Integration>Data Factory

  3. Na stronie Nowa fabryka danych w obszarze Nazwa wprowadź wartość ADFTutorialDataFactory

  4. Wybierz subskrypcję platformy Azure, w której chcesz utworzyć fabrykę danych.

  5. W obszarze Grupa zasobów wykonaj jedną z następujących czynności:

    a. Wybierz pozycję Użyj istniejącej, a następnie wybierz istniejącą grupę zasobów z listy rozwijanej.

    b. Wybierz pozycję Utwórz nową i wprowadź nazwę grupy zasobów. Aby dowiedzieć się więcej o grupach zasobów, zobacz Zarządzanie zasobami platformy Azure przy użyciu grup zasobów.

  6. W obszarze Wersja wybierz pozycję V2.

  7. W obszarze Lokalizacja wybierz lokalizację fabryki danych. Na liście rozwijanej są wyświetlane tylko obsługiwane lokalizacje. Magazyny danych (na przykład Azure Storage i SQL Database) i obliczenia (na przykład Usługa Azure HDInsight) używane przez fabrykę danych mogą znajdować się w innych regionach.

  8. Wybierz pozycję Utwórz.

  9. Po zakończeniu tworzenia zostanie wyświetlone powiadomienie w Centrum powiadomień. Wybierz pozycję Przejdź do zasobu , aby przejść do strony Fabryka danych.

  10. Wybierz pozycję Tworzenie i monitorowanie, aby uruchomić interfejs użytkownika usługi Data Factory na osobnej karcie.

Tworzenie potoku z działaniem przepływu danych

W tym kroku utworzysz potok zawierający działanie przepływu danych.

  1. Na stronie głównej usługi Azure Data Factory wybierz pozycję Orkiestruj.

    Zrzut ekranu przedstawiający stronę główną fabryki danych z wyróżnionym przyciskiem Orchestrate (Orkiestracja).

  2. Na karcie Ogólne potoku wprowadź wartość DeltaLake w polu Nazwa potoku.

  3. Na górnym pasku fabryki przesuń suwak debugowania Przepływ danych. Tryb debugowania umożliwia interaktywne testowanie logiki transformacji względem dynamicznego klastra Spark. Przepływ danych klastry zajmują od 5 do 7 minut, a użytkownicy powinni najpierw włączyć debugowanie, jeśli planują wykonać Przepływ danych programowania. Aby uzyskać więcej informacji, zobacz Tryb debugowania.

    Działanie Przepływ danych

  4. W okienku Działania rozwiń akordeon Przenieś i Przekształć . Przeciągnij i upuść działanie Przepływ danych z okienka do kanwy potoku.

    Zrzut ekranu przedstawiający kanwę potoku, na której można usunąć działanie Przepływ danych.

  5. W oknie podręcznym Dodawanie Przepływ danych wybierz pozycję Utwórz nową Przepływ danych, a następnie nadaj przepływowi danych nazwę DeltaLake. Po zakończeniu kliknij przycisk Zakończ.

    Zrzut ekranu przedstawiający miejsce nadawania nazwy przepływowi danych podczas tworzenia nowego przepływu danych.

Tworzenie logiki przekształcania na kanwie przepływu danych

Wszystkie dane źródłowe (w tym samouczku użyjemy źródła pliku Parquet) i użyjemy przekształcenia ujścia, aby wylądować dane w formacie Parquet przy użyciu najbardziej efektywnych mechanizmów etL typu data lake.

Końcowy przepływ

Cele samouczka

  1. Wybierz dowolny źródłowy zestaw danych w nowym przepływie danych 1. Efektywne partycjonowanie zestawu danych ujścia za pomocą przepływów danych
  2. Lądowanie partycjonowanych danych w folderach lake usługi ADLS Gen2

Rozpoczynanie od pustej kanwy przepływu danych

Najpierw skonfigurujmy środowisko przepływu danych dla każdego z mechanizmów opisanych poniżej na potrzeby danych docelowych w usłudze ADLS Gen2

  1. Kliknij transformację źródłową.
  2. Kliknij nowy przycisk obok zestawu danych w dolnym panelu.
  3. Wybierz zestaw danych lub utwórz nowy. Na potrzeby tego pokazu użyjemy zestawu danych Parquet o nazwie Dane użytkownika.
  4. Dodaj transformację kolumny pochodnej. Użyjemy tego jako sposobu dynamicznego ustawiania żądanych nazw folderów.
  5. Dodaj przekształcenie ujścia.

Dane wyjściowe folderu hierarchicznego

Bardzo często używa się unikatowych wartości w danych do tworzenia hierarchii folderów w celu partycjonowania danych w usłudze Lake. Jest to bardzo optymalny sposób organizowania i przetwarzania danych w jeziorze i na platformie Spark (aparatu obliczeniowego za przepływami danych). Jednak w ten sposób będzie można zorganizować dane wyjściowe w niewielki koszt wydajności. Spodziewaj się niewielkiego spadku ogólnej wydajności potoku przy użyciu tego mechanizmu ujścia.

  1. Wróć do projektanta przepływu danych i edytuj utworzony powyżej przepływ danych. Kliknij przekształcenie ujścia.
  2. Kliknij pozycję Optymalizuj > ustaw klucz partycjonowania >
  3. Wybierz kolumny, których chcesz użyć, aby ustawić hierarchiczną strukturę folderów.
  4. W poniższym przykładzie użyto roku i miesiąca jako kolumn nazewnictwa folderów. Wyniki będą folderami formularza releaseyear=1990/month=8.
  5. Podczas uzyskiwania dostępu do partycji danych w źródle przepływu danych wskażesz tylko powyższy releaseyear folder najwyższego poziomu i użyjesz wzorca wieloznakowego dla każdego kolejnego folderu, np. **/**/*.parquet
  6. Aby manipulować wartościami danych, a nawet w razie potrzeby generowania syntetycznych wartości nazw folderów, użyj przekształcenia Pochodne kolumny, aby utworzyć wartości, których chcesz użyć w nazwach folderów.

Partycjonowanie kluczy

Nazwij folder jako wartości danych

Nieco lepszą techniką ujścia danych typu lake przy użyciu usługi ADLS Gen2, która nie oferuje tej samej korzyści co partycjonowanie klucz/wartość, to Name folder as column data. Podczas gdy styl partycjonowania klucza struktury hierarchicznej umożliwia łatwiejsze przetwarzanie wycinków danych, ta technika jest spłaszczaną strukturą folderów, która może szybciej zapisywać dane.

  1. Wróć do projektanta przepływu danych i edytuj utworzony powyżej przepływ danych. Kliknij przekształcenie ujścia.
  2. Kliknij pozycję Optymalizacja > ustaw partycjonowanie > Użyj bieżącej partycjonowania.
  3. Kliknij pozycję Ustawienia > Nazwa folderu jako dane kolumny.
  4. Wybierz kolumnę, której chcesz użyć do generowania nazw folderów.
  5. Aby manipulować wartościami danych, a nawet w razie potrzeby generowania syntetycznych wartości nazw folderów, użyj przekształcenia Pochodne kolumny, aby utworzyć wartości, których chcesz użyć w nazwach folderów.

Opcja folderu

Nazwa pliku jako wartości danych

Techniki wymienione w powyższych samouczkach są dobrymi przypadkami użycia tworzenia kategorii folderów w usłudze Data Lake. Domyślny schemat nazewnictwa plików używany przez te techniki polega na użyciu identyfikatora zadania funkcji wykonawczej platformy Spark. Czasami można ustawić nazwę pliku wyjściowego w ujściu tekstu przepływu danych. Ta technika jest sugerowana tylko do użycia z małymi plikami. Proces scalania plików partycji z jednym plikiem wyjściowym jest długotrwałym procesem.

  1. Wróć do projektanta przepływu danych i edytuj utworzony powyżej przepływ danych. Kliknij przekształcenie ujścia.
  2. Kliknij pozycję Optymalizuj > ustaw partycjonowanie pojedynczej > partycji. Jest to wymaganie dotyczące pojedynczej partycji, które tworzy wąskie gardło w procesie wykonywania podczas scalania plików. Ta opcja jest zalecana tylko w przypadku małych plików.
  3. Kliknij pozycję Ustawienia > Nazwa pliku jako dane kolumny.
  4. Wybierz kolumnę, której chcesz użyć do generowania nazw plików.
  5. Aby manipulować wartościami danych, a nawet w razie potrzeby generowania syntetycznych wartości dla nazw plików, użyj przekształcenia Pochodne kolumny, aby utworzyć wartości, których chcesz użyć w nazwach plików.

Dowiedz się więcej o ujściach przepływu danych.