Omówienie różnic między formatami danych U-SQL i Spark
Ważne
Usługa Azure Data Lake Analytics wycofana 29 lutego 2024 r. Dowiedz się więcej z tego ogłoszenia.
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 Azure HDInsight Spark, zalecamy przeprowadzenie migracji danych z usługi Azure Data Lake Storage Gen1 do Azure Data Lake Storage Gen2.
Oprócz przenoszenia plików warto również ustawić dane przechowywane w tabelach U-SQL, które są dostępne dla platformy Spark.
Przenoszenie danych przechowywanych w plikach Azure Data Lake Storage Gen1
Dane przechowywane w plikach można przenosić na różne sposoby:
- Napisz potok Azure Data Factory, aby skopiować dane z konta usługi Azure Data Lake Storage Gen1 do konta 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 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 zachować 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 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 folderów 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. Przetwarzanie większej liczby plików niż kiedykolwiek i korzystanie z usługi Parquet stanowi przykład tworzenia takich danych eksploatacyjnych platformy Spark.
Po tej transformacji skopiujesz dane zgodnie z opisem w rozdziale Przenoszenie danych przechowywanych w plikach Azure Data Lake Storage Gen1.
Zastrzeżenia
Semantyka danych Podczas kopiowania plików kopia będzie odbywać się na poziomie bajtów. Dlatego te same dane powinny być wyświetlane na koncie 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 dane typizowane (z tabel), wówczas Parquet i Spark mogą mieć inną precyzję i skalę dla niektórych typowych wartości (na przykład zmiennoprzecinkowych) i mogą traktować wartości null inaczej. Na przykład język U-SQL ma semantyka języka C# dla wartości null, a platforma Spark ma trzywartą logikę dla wartości null.
Tabele U-SQL organizacji danych (partycjonowania) zapewniają dwie partycjonowanie na poziomie. Poziom zewnętrzny (
PARTITIONED BY
) jest według wartości i jest mapowany głównie do schematu partycjonowania Hive/Spark przy użyciu hierarchii folderów. Należy upewnić się, że wartości null są mapowane na właściwy folder. Poziom wewnętrzny (DISTRIBUTED BY
) w języku U-SQL oferuje cztery schematy dystrybucji: działanie okrężne, zakres, skrót i bezpośredni skrót. Tabele hive/Spark obsługują tylko partycjonowanie wartości lub partycjonowanie skrótów przy użyciu innej funkcji skrótu niż U-SQL. W przypadku wyprowadzania danych tabeli U-SQL prawdopodobnie będzie można mapować tylko na partycjonowanie wartości dla platformy Spark i może być konieczne dalsze dostrajanie układu danych w zależności od końcowych zapytań platformy Spark.
Następne kroki
- Omówienie pojęć związanych z kodem platformy Spark dla deweloperów języka U-SQL
- Uaktualnianie rozwiązań do analizy danych big data z usługi Azure Data Lake Storage Gen1 do usługi Azure Data Lake Storage Gen2
- Platforma .NET for Apache Spark
- Przekształcanie danych przy użyciu działania platformy Spark w Azure Data Factory
- Przekształcanie danych przy użyciu działania hive usługi Hadoop w Azure Data Factory
- Co to jest platforma Apache Spark w usłudze Azure HDInsight