Azure Synapse biblioteca cliente de Spark para .NET: versión 1.0.0-preview.8
Este directorio contiene el subconjunto código abierto del SDK de .NET. Para obtener documentación del SDK completo de Azure, consulte el Centro para desarrolladores de Microsoft Azure .NET.
Use la biblioteca cliente para Synapse para:
- Envío de un trabajo de Spark Batch y un trabajo de sesión de Spark
Azure Synapse es un servicio de análisis ilimitado que reúne el almacenamiento de datos empresariales y el análisis de macrodatos. Le ofrece la libertad de consultar los datos como prefiera, ya sea a petición sin servidor o con recursos aprovisionados, a escala. Azure Synapse reúne estos dos mundos con una experiencia unificada para ingerir, preparar, administrar y servir datos para las necesidades inmediatas de inteligencia empresarial y aprendizaje automático.
Introducción
El SDK completo de Microsoft Azure se puede descargar desde la página de descargas de Microsoft Azure y se incluye con compatibilidad para compilar paquetes de implementación, integrar con herramientas, herramientas de línea de comandos enriquecidas, etc.
Para obtener la mejor experiencia de desarrollo, los desarrolladores deben usar los paquetes NuGet oficiales de Microsoft para bibliotecas. Los paquetes NuGet se actualizan periódicamente con nuevas funcionalidades y revisiones.
Instalar el paquete
Instale la biblioteca cliente de Spark para Azure Synapse Analytics para .NET con NuGet:
dotnet add package Azure.Analytics.Synapse.Spark --version 0.1.0-preview.1
Requisitos previos
- Suscripción de Azure: Para usar los servicios de Azure, incluido Azure Synapse, necesitará una suscripción. Si no tiene una cuenta de Azure existente, puede registrarse para obtener una evaluación gratuita o usar las ventajas de la suscripción de Visual Studio al crear una cuenta.
- Un área de trabajo de Azure Synapse existente. Si necesita crear un área de trabajo de Azure Synapse, puede usar Azure Portal o la CLI de Azure.
Si usa la CLI de Azure, el comando tiene el siguiente aspecto:
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>
Autenticar el cliente
Para interactuar con el servicio Azure Synapse Analytics, deberá crear una instancia de la clase SparkBatchClient o SparkSessionClient. Necesita un punto de conexión de área de trabajo, que puede ver como "Punto de conexión de desarrollo" en el portal y credenciales de secreto de cliente (id. de cliente, secreto de cliente, identificador de inquilino) para crear instancias de un objeto de cliente.
La autenticación de credenciales de secreto de cliente se usa en esta sección de introducción, pero puede encontrar más formas de autenticarse con la identidad de Azure. Para usar el proveedor DefaultAzureCredential que se muestra a continuación u otros proveedores de credenciales proporcionados con el SDK de Azure, debe instalar el paquete Azure.Identity:
Install-Package Azure.Identity
Ejemplos
Microsoft.Azure.Synapse admite el CRUD del trabajo por lotes de Spark.
Ejemplos de trabajos de Batch de Spark
- Enumeración del trabajo por lotes de Spark
- Creación de un trabajo por lotes de Spark
- Cancelación del trabajo por lotes de Spark
Enumeración del trabajo por lotes de Spark
Enumeración del trabajo por lotes de Spark en el grupo de Spark específico de un área de trabajo de Synapse específica
Response<SparkBatchJobCollection> jobs = client.GetSparkBatchJobs();
foreach (SparkBatchJob job in jobs.Value.Sessions)
{
Console.WriteLine(job.Name);
}
Creación de un trabajo por lotes de Spark
Cree un trabajo por lotes de Spark en un área de trabajo específica y un grupo de Spark.
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;
Cancelación del trabajo por lotes de Spark
Cancele un trabajo por lotes de Spark con el identificador de lote de Spark en un área de trabajo específica y un grupo de Spark.
Response operation = client.CancelSparkBatchJob(jobCreated.Id);
Para compilar
Para obtener información sobre cómo compilar la biblioteca cliente de Azure Synapse, consulte Creación del Microsoft Azure SDK para .NET
Versiones de .NET Framework de destino
Para obtener información sobre las plataformas de destino de la biblioteca cliente de Azure Synapse, consulte las plataformas de destino del Microsoft Azure SDK para .NET.
Conceptos clave
Enviar trabajo de Spark.
Seguridad para subprocesos
Garantizamos que todos los métodos de instancia de cliente son seguros para subprocesos e independientes entre sí (instrucciones). Esto garantiza que la recomendación de reutilizar instancias de cliente siempre es segura, incluso entre subprocesos.
Conceptos adicionales
Opciones | de cliente Acceso a la respuesta | Operaciones | de larga duraciónControl de errores | Diagnóstico | Burla | Duración del cliente
Solución de problemas
Abra el problema en github.
Pasos siguientes
El siguiente paso es agregar más ejemplos
Contribuir
Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.
Azure SDK for .NET