Azure Synapse biblioteca de clientes do Spark para .NET – versão 1.0.0-preview.8
Esse diretório contém o subconjunto código aberto do SDK do .NET. Para obter a documentação do SDK completo do Azure, consulte o Centro de Desenvolvedores do Microsoft Azure .NET.
Use a biblioteca de clientes do Synapse para:
- Enviar trabalho do Lote do Spark e Trabalho de Sessão do Spark
O Azure Synapse é um serviço de análise ilimitado que reúne data warehouse empresarial e análise de Big Data. Ele oferece a liberdade para consultar dados da forma que você quiser, usando recursos sob demanda sem servidor ou provisionados em escala. O Azure Synapse conecta esses dois mundos com uma experiência unificada para ingerir, preparar, gerenciar e fornecer dados para necessidades imediatas de BI e de aprendizado de máquina.
Introdução
O SDK completo do Microsoft Azure pode ser baixado da Página de Downloads do Microsoft Azure e fornecido com suporte para a criação de pacotes de implantação, integração com ferramentas, ferramentas avançadas de linha de comando e muito mais.
Para obter a melhor experiência de desenvolvimento, os desenvolvedores devem usar os pacotes NuGet oficiais da Microsoft para bibliotecas. Os pacotes NuGet são atualizados regularmente com novas funcionalidades e hotfixes.
Instalar o pacote
Instale a biblioteca de clientes do Spark para Azure Synapse Analytics para .NET com o NuGet:
dotnet add package Azure.Analytics.Synapse.Spark --version 0.1.0-preview.1
Pré-requisitos
- Assinatura do Azure: Para usar os serviços do Azure, incluindo Azure Synapse, você precisará de uma assinatura. Se você não tiver uma conta existente do Azure, poderá se inscrever para uma avaliação gratuita ou usar seus benefícios de assinatura do Visual Studio ao criar uma conta.
- Um workspace Azure Synapse existente. Se precisar criar um workspace Azure Synapse, você poderá usar o Portal do Azure ou a CLI do Azure.
Se você usar a CLI do Azure, o comando será semelhante ao seguinte:
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 o cliente
Para interagir com o serviço Azure Synapse Analytics, você precisará criar uma instância da classe SparkBatchClient ou SparkSessionClient. Você precisa de um ponto de extremidade de workspace, que você pode ver como "Ponto de extremidade de desenvolvimento" no portal e credenciais de segredo do cliente (ID do cliente, segredo do cliente, ID do locatário) para instanciar um objeto cliente.
A autenticação de credencial de segredo do cliente está sendo usada nesta seção de introdução, mas você pode encontrar mais maneiras de autenticar com a identidade do Azure. Para usar o provedor DefaultAzureCredential mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, você deve instalar o pacote Azure.Identity:
Install-Package Azure.Identity
Exemplos
O Microsoft.Azure.Synapse dá suporte ao CRUD do trabalho em lotes do Spark.
Exemplos de trabalho em lotes do Spark
- Listar trabalho em lotes do Spark
- Criar trabalho em lotes do Spark
- Cancelar o trabalho em lotes do Spark
Listar trabalho em lotes do Spark
Listar o trabalho em lotes do Spark no pool específico do Spark de um workspace específico do Synapse
Response<SparkBatchJobCollection> jobs = client.GetSparkBatchJobs();
foreach (SparkBatchJob job in jobs.Value.Sessions)
{
Console.WriteLine(job.Name);
}
Criar trabalho em lotes do Spark
Crie um trabalho em lotes do Spark em um workspace específico e no pool do 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;
Cancelar o trabalho em lotes do Spark
Cancele um trabalho em lotes do Spark com a ID do lote do Spark em um workspace específico e no pool do Spark.
Response operation = client.CancelSparkBatchJob(jobCreated.Id);
Para compilar
Para obter informações sobre como criar a biblioteca de clientes Azure Synapse, consulte Criando o SDK do Microsoft Azure para .NET
Frameworks de destino
Para obter informações sobre as estruturas de destino da biblioteca de clientes Azure Synapse, consulte as Estruturas de Destino do SDK do Microsoft Azure para .NET.
Principais conceitos
Enviar trabalho do Spark.
Acesso thread-safe
Garantimos que todos os métodos de instância do cliente sejam thread-safe e independentes uns dos outros (diretriz). Isso garante que a recomendação de reutilize instâncias de cliente seja sempre segura, mesmo entre threads.
Conceitos adicionais
Opções do | cliente Acessando a resposta | Operações de execução longa | Tratamento de falhas | Diagnostics | Zombando | Tempo de vida do cliente
Solução de problemas
Abra o problema no github.
Próximas etapas
A próxima etapa é adicionar mais exemplos
Participante
Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.
Azure SDK for .NET