Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Azure Data Lake Analytics wurde am 29. Februar 2024 eingestellt. Erfahren Sie mehr mit dieser Ankündigung.
Bei Datenanalysen kann Ihre Organisation Azure Synapse Analytics oder Microsoft Fabricverwenden.
Wenn Sie Azure Databricks oder Azure HDInsight Spark verwenden möchten, empfehlen wir Ihnen, Ihre Daten aus Azure Data Lake Storage Gen1 zu Azure Data Lake Storage Gen2 zu migrieren.
Zusätzlich zum Verschieben Ihrer Dateien möchten Sie auch Ihre Daten, die in U-SQL-Tabellen gespeichert sind, für Spark zugänglich machen.
Verschieben von Daten, die in Azure Data Lake Storage Gen1-Dateien gespeichert sind
In Dateien gespeicherte Daten können auf verschiedene Arten verschoben werden:
- Schreiben Sie eine Azure Data Factory-Pipeline , um die Daten aus dem Azure Data Lake Storage Gen1-Konto in das Azure Data Lake Storage Gen2-Konto zu kopieren.
- Schreiben Sie einen Spark-Auftrag, der die Daten aus dem Azure Data Lake Storage Gen1-Konto liest und in das Azure Data Lake Storage Gen2-Konto schreibt. Basierend auf Ihrem Anwendungsfall möchten Sie es möglicherweise in einem anderen Format wie Parquet speichern, wenn Sie das ursprüngliche Dateiformat nicht beibehalten müssen.
Es wird empfohlen, den Artikel Upgrade Ihrer Big Data Analytics-Lösungen von Azure Data Lake Storage Gen1 auf Azure Data Lake Storage Gen2 zu überprüfen.
Verschieben von Daten, die in U-SQL-Tabellen gespeichert sind
U-SQL-Tabellen werden von Spark nicht verstanden. Wenn Daten in U-SQL-Tabellen gespeichert sind, führen Sie einen U-SQL-Auftrag aus, der die Tabellendaten extrahiert und in einem Format speichert, das Spark versteht. Das am besten geeignete Format besteht darin, eine Reihe von Parquet-Dateien gemäß dem Ordnerlayout des Hive-Metastores zu erstellen.
Die Ausgabe kann in U-SQL mit dem integrierten Parquet-Outputter und der dynamischen Ausgabepartitionierung unter Verwendung von Dateisätzen zum Erstellen der Partitionsordner erreicht werden. Verarbeiten Sie mehr Dateien als je zuvor und verwenden Sie Parquet, um ein Beispiel dafür zu geben, wie man solche von Spark nutzbare Daten erstellt.
Nach dieser Transformation kopieren Sie die Daten wie im Kapitel "Verschieben von Daten, die in Azure Data Lake Storage Gen1-Dateien gespeichert sind" beschrieben.
Vorbehalte
Datensemantik Beim Kopieren von Dateien erfolgt die Kopie auf Byteebene. Daher sollten dieselben Daten im Azure Data Lake Storage Gen2-Konto angezeigt werden. Beachten Sie jedoch, dass Spark einige Zeichen unterschiedlich interpretiert. Beispielsweise kann es für ein Zeilentrennzeichen in einer CSV-Datei einen anderen Standardwert verwenden. Wenn Sie typisierte Daten (aus Tabellen) kopieren, können "Parquet" und "Spark" für einige der typisierten Werte (z. B. eine Gleitkommazahl) unterschiedliche Präzision und Skalierung aufweisen und möglicherweise Nullwerte unterschiedlich behandeln. U-SQL verfügt z. B. über die C#-Semantik für Nullwerte, während Spark eine dreiwertige Logik für Nullwerte aufweist.
Datenorganisation (Partitionierung) U-SQL-Tabellen bieten zwei Ebenen Partitionierung. Die äußere Ebene (
PARTITIONED BY) erfolgt nach Wert und wird hauptsächlich mithilfe von Ordnerhierarchien dem Hive/Spark-Partitionierungsschema zugeordnet. Sie müssen sicherstellen, dass die Nullwerte dem richtigen Ordner zugeordnet sind. Die innere Ebene (DISTRIBUTED BY) in U-SQL bietet vier Verteilungsschemas: Roundrobin, Bereich, Hash und direkter Hash. Hive-/Spark-Tabellen unterstützen nur die Wertpartitionierung oder die Hashpartitionierung, wobei eine andere Hashfunktion als bei U-SQL verwendet wird. Wenn Sie Ihre U-SQL-Tabellendaten ausgeben, können Sie wahrscheinlich nur die Wertpartitionierung für Spark zuordnen und je nach den endgültigen Spark-Abfragen möglicherweise weitere Optimierungen des Datenlayouts vornehmen.
Nächste Schritte
- Grundlegendes zu Spark-Codekonzepten für U-SQL-Entwickler
- Aktualisieren Ihrer Big Data Analytics-Lösungen von Azure Data Lake Storage Gen1 auf Azure Data Lake Storage Gen2
- .NET für Apache Spark
- Transformieren von Daten mithilfe von Spark-Aktivitäten in Azure Data Factory
- Transformieren von Daten mithilfe der Hadoop-Hive-Aktivität in Azure Data Factory
- Was ist Apache Spark in Azure HDInsight?