Azure Synapse Spark-Clientbibliothek für .NET – Version 1.0.0-preview.8

Dieses Verzeichnis enthält die Open Source Teilmenge des .NET SDK. Eine Dokumentation zum vollständigen Azure SDK finden Sie im Microsoft Azure .NET Developer Center.

Verwenden Sie die Clientbibliothek für Synapse für Folgendes:

  • Übermitteln des Spark Batch-Auftrags und des Spark-Sitzungsauftrags

Azure Synapse ist ein unbegrenzter Analysedienst, der Data Warehousing für Unternehmen mit Big Data-Analysen vereint. Er ermöglicht flexible Datenabfragen nach Ihren Vorstellungen, indem serverlose On-Demand-Ressourcen oder bereitgestellten Ressourcen im gewünschten Umfang verwendet werden. Azure Synapse kombiniert diese beiden Welten in einer vereinheitlichten Oberfläche zur Erfassung, Vorbereitung, Verwaltung und Verarbeitung von Daten für sofortige BI- und Machine Learning-Anforderungen.

Erste Schritte

Das vollständige Microsoft Azure SDK kann von der Microsoft Azure-Downloadseite heruntergeladen werden und wird mit Unterstützung für das Erstellen von Bereitstellungspaketen, die Integration in Tools, umfangreiche Befehlszeilentools und vieles mehr bereitgestellt.

Für eine optimale Entwicklungsumgebung sollten Entwickler die offiziellen Microsoft NuGet-Pakete für Bibliotheken verwenden. NuGet-Pakete werden regelmäßig mit neuen Funktionen und Hotfixes aktualisiert.

Installieren des Pakets

Installieren Sie die Spark-Clientbibliothek für Azure Synapse Analytics für .NET mit NuGet:

dotnet add package Azure.Analytics.Synapse.Spark --version 0.1.0-preview.1

Voraussetzungen

  • Azure-Abonnement: Für die Verwendung von Azure-Diensten, einschließlich Azure Synapse, benötigen Sie ein Abonnement. Wenn Sie nicht über ein vorhandenes Azure-Konto verfügen, können Sie sich für eine kostenlose Testversion registrieren oder ihre Visual Studio-Abonnementvorteile beim Erstellen eines Kontos nutzen.
  • Ein vorhandener Azure Synapse Arbeitsbereich. Wenn Sie einen Azure Synapse Arbeitsbereich erstellen müssen, können Sie das Azure-Portal oder die Azure CLI verwenden.

Wenn Sie die Azure CLI verwenden, sieht der Befehl wie folgt aus:

az synapse workspace create \
    --name <your-workspace-name> \
    --resource-group <your-resource-group-name> \
    --storage-account <your-storage-account-name> \
    --file-system <your-storage-file-system-name> \
    --sql-admin-login-user <your-sql-admin-user-name> \
    --sql-admin-login-password <your-sql-admin-user-password> \
    --location <your-workspace-location>

Authentifizieren des Clients

Um mit dem Azure Synapse Analytics-Dienst zu interagieren, müssen Sie eine instance der SparkBatchClient- oder SparkSessionClient-Klasse erstellen. Sie benötigen einen Arbeitsbereichsendpunkt, den Sie möglicherweise als "Entwicklungsendpunkt" im Portal sehen, und geheime Clientanmeldeinformationen (Client-ID, Geheimer Clientschlüssel, Mandanten-ID), um ein Clientobjekt zu instanziieren.

Die Authentifizierung geheimer Clientschlüsselanmeldeinformationen wird in diesem Abschnitt mit den ersten Schritten verwendet, aber Sie finden weitere Möglichkeiten zur Authentifizierung mit der Azure-Identität. Um den unten gezeigten Anbieter DefaultAzureCredential oder andere Anbieter von Anmeldeinformationen zu verwenden, die mit dem Azure SDK bereitgestellt werden, sollten Sie das Azure.Identity-Paket installieren:

Install-Package Azure.Identity

Beispiele

Microsoft.Azure.Synapse unterstützt den CRUD-Batchauftrag von Spark.

Beispiele für Spark Batch-Aufträge

Auflisten des Spark-Batchauftrags

Auflisten des Spark-Batchauftrags unter dem spezifischen Spark-Pool eines bestimmten Synapse-Arbeitsbereichs

Response<SparkBatchJobCollection> jobs = client.GetSparkBatchJobs();
foreach (SparkBatchJob job in jobs.Value.Sessions)
{
    Console.WriteLine(job.Name);
}

Erstellen eines Spark-Batchauftrags

Erstellen Sie einen Spark-Batchauftrag unter einem bestimmten Arbeitsbereich und spark-Pool.

string name = $"batch-{Guid.NewGuid()}";
string file = string.Format("abfss://{0}@{1}.dfs.core.windows.net/samples/net/wordcount/wordcount.zip", fileSystem, storageAccount);
SparkBatchJobOptions request = new SparkBatchJobOptions(name, file)
{
    ClassName = "WordCount",
    Arguments =
    {
        string.Format("abfss://{0}@{1}.dfs.core.windows.net/samples/net/wordcount/shakespeare.txt", fileSystem, storageAccount),
        string.Format("abfss://{0}@{1}.dfs.core.windows.net/samples/net/wordcount/result/", fileSystem, storageAccount),
    },
    DriverMemory = "28g",
    DriverCores = 4,
    ExecutorMemory = "28g",
    ExecutorCores = 4,
    ExecutorCount = 2
};

SparkBatchOperation createOperation = client.StartCreateSparkBatchJob(request);
while (!createOperation.HasCompleted)
{
    System.Threading.Thread.Sleep(2000);
    createOperation.UpdateStatus();
}
SparkBatchJob jobCreated = createOperation.Value;

Abbrechen eines Spark-Batchauftrags

Abbrechen eines Spark-Batchauftrags mit der Spark-Batch-ID unter einem bestimmten Arbeitsbereich und Spark-Pool.

Response operation = client.CancelSparkBatchJob(jobCreated.Id);

So erstellen Sie

Informationen zum Erstellen der Azure Synapse-Clientbibliothek finden Sie unter Erstellen der Microsoft Azure SDK für .NET

Zielframeworks

Informationen zu den Zielframeworks der Azure Synapse Clientbibliothek finden Sie unter Zielframeworks des Microsoft Azure SDK für .NET.

Wichtige Begriffe

Spark-Auftrag übermitteln.

Threadsicherheit

Wir garantieren, dass alle Client-instance Methoden threadsicher und unabhängig voneinander sind (Richtlinie). Dadurch wird sichergestellt, dass die Empfehlung, Clientinstanzen wiederzuverwenden, immer sicher ist, auch threadsübergreifend.

Zusätzliche Konzepte

Clientoptionen | Zugreifen auf die Antwort | Vorgänge | mit langer AusführungsdauerBehandeln von Fehlern | Diagnose | Spott | Clientlebensdauer

Problembehandlung

Öffnen Sie das Problem in github.

Nächste Schritte

Im nächsten Schritt werden weitere Beispiele hinzugefügt.

Mitwirken

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.