Compartilhar via


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

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

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.