Omówienie różnic między formatami danych U-SQL i Spark
Ważne
Usługa Azure Data Lake Analytics została wycofana 29 lutego 2024 r. Dowiedz się więcej z tym ogłoszeniem.
Na potrzeby analizy danych organizacja może używać usługi Azure Synapse Analytics lub microsoft fabric.
Jeśli chcesz użyć usługi Azure Databricks lub usługi Azure HDInsight Spark, zalecamy przeprowadzenie migracji danych z usługi Azure Data Lake Storage Gen1 do usługi Azure Data Lake Storage Gen2.
Oprócz przenoszenia plików warto również udostępnić dane przechowywane w tabelach U-SQL platformy Spark.
Przenoszenie danych przechowywanych w plikach usługi Azure Data Lake Storage Gen1
Dane przechowywane w plikach można przenosić na różne sposoby:
- Napisz potok usługi Azure Data Factory, aby skopiować dane z konta usługi Azure Data Lake Storage Gen1 na konto usługi Azure Data Lake Storage Gen2.
- Napisz zadanie platformy Spark, które odczytuje dane z konta usługi Azure Data Lake Storage Gen1 i zapisuje je na koncie usługi Azure Data Lake Storage Gen2. W zależności od przypadku użycia możesz zapisać go w innym formacie, takim jak Parquet, jeśli nie musisz zachowywać oryginalnego formatu pliku.
Zalecamy zapoznanie się z artykułem Uaktualnianie rozwiązań do analizy danych big data z usługi Azure Data Lake Storage Gen1 do usługi Azure Data Lake Storage Gen2
Przenoszenie danych przechowywanych w tabelach U-SQL
Tabele U-SQL nie są zrozumiałe dla platformy Spark. Jeśli masz dane przechowywane w tabelach U-SQL, uruchomisz zadanie U-SQL, które wyodrębnia dane tabeli i zapisuje je w formacie zrozumiałym dla platformy Spark. Najbardziej odpowiednim formatem jest utworzenie zestawu plików Parquet zgodnie z układem folderu magazynu metadanych Hive.
Dane wyjściowe można uzyskać w języku U-SQL za pomocą wbudowanego modułu wyjściowego Parquet i dynamicznego partycjonowania danych wyjściowych z zestawami plików w celu utworzenia folderów partycji. przetwarzać więcej plików niż kiedykolwiek i używać Parquet zawiera przykład tworzenia danych do użytku dla platformy Spark.
Po wykonaniu tej transformacji skopiuj dane zgodnie z opisem w rozdziale Move data stored in Azure Data Lake Storage Gen1 files (Przenoszenie danych przechowywanych w plikach usługi Azure Data Lake Storage Gen1).
Zastrzeżenia
Semantyka danych Podczas kopiowania plików kopia zostanie wykonana na poziomie bajtów. Dlatego te same dane powinny być widoczne na koncie usługi Azure Data Lake Storage Gen2. Należy jednak pamiętać, że platforma Spark może interpretować niektóre znaki inaczej. Może na przykład użyć innej wartości domyślnej dla ogranicznika wiersza w pliku CSV. Ponadto jeśli kopiujesz typizowane dane (z tabel), to Parquet i Spark mogą mieć inną dokładność i skalę dla niektórych typizowanych wartości (na przykład float) oraz mogą traktować wartości null inaczej. Na przykład język U-SQL ma semantykę języka C# dla wartości null, podczas gdy platforma Spark ma trówartościową logikę dla wartości null.
Tabele U-SQL organizujące dane (partycjonowanie) zapewniają dwa poziomy partycjonowania. Poziom zewnętrzny (
PARTITIONED BY
) jest określony przez wartość i odwzorowany głównie w schemacie partycjonowania Hive/Spark przy użyciu hierarchii folderów. Należy upewnić się, że wartości null są mapowane do odpowiedniego folderu. Poziom wewnętrzny (DISTRIBUTED BY
) w języku U-SQL oferuje cztery schematy dystrybucji: działanie okrężne, zakres, skrót i skrót bezpośredni. Tabele Hive/Spark obsługują tylko partycjonowanie wartości lub partycjonowanie skrótów przy użyciu innej funkcji skrótu niż U-SQL. Kiedy wyprowadzisz dane swojej tabeli U-SQL, prawdopodobnie będziesz mógł mapować tylko na partycjonowanie wartości dla Sparka i może być konieczne dalsze dostrajanie układu danych, w zależności od ostatecznych zapytań w Sparku.
Następne kroki
- Omówienie pojęć dotyczących kodu platformy Spark dla deweloperów języka U-SQL
- Uaktualnij rozwiązania do analizy danych big data z usługi Azure Data Lake Storage Gen1 do usługi Azure Data Lake Storage Gen2
- .NET dla Apache Spark
- Przekształcanie danych przy użyciu działania platformy Spark w usłudze Azure Data Factory
- Przekształcanie danych przy użyciu działania usługi Hadoop Hive w usłudze Azure Data Factory
- co to jest platforma Apache Spark w usłudze Azure HDInsight