Compartilhar via


Enviar trabalhos do Spark no cluster de Big Data do SQL Server no Visual Studio Code

Importante

O complemento Clusters de Big Data do Microsoft SQL Server 2019 será desativado. O suporte para Clusters de Big Data do SQL Server 2019 será encerrado em 28 de fevereiro de 2025. Todos os usuários existentes do SQL Server 2019 com Software Assurance terão suporte total na plataforma e o software continuará a ser mantido por meio de atualizações cumulativas do SQL Server até esse momento. Para obter mais informações, confira a postagem no blog de anúncio e as opções de Big Data na plataforma do Microsoft SQL Server.

Saiba como usar as Ferramentas spark &hive para Visual Studio Code para criar e enviar scripts PySpark para Apache Spark, primeiro descreveremos como instalar as ferramentas spark &hive no Visual Studio Code e, em seguida, vamos percorrer como enviar trabalhos para o Spark.

As Ferramentas do Spark &hive podem ser instaladas em plataformas compatíveis com o Visual Studio Code, que incluem Windows, Linux e macOS. Abaixo, você encontrará os pré-requisitos para diferentes plataformas.

Pré-requisitos

Os itens a seguir são necessários para concluir as etapas neste artigo:

Instalar Ferramentas do Spark & Hive

Depois de concluir os pré-requisitos, você poderá instalar o Spark &hive Tools para Visual Studio Code. Conclua as seguintes etapas para instalar o Spark & Hive Tools:

  1. Abra o Visual Studio Code.

  2. Na barra de menus, navegue até Exibir>Extensões.

  3. Na caixa de pesquisa, insira Spark & Hive.

  4. Selecione Ferramentas do Spark &hive, publicadas pela Microsoft, nos resultados da pesquisa e selecione Instalar.

    Instalar extensão

  5. Recarregue quando necessário.

Abrir pasta de trabalho

Conclua as seguintes etapas para abrir uma pasta de trabalho e criar um arquivo no Visual Studio Code:

  1. Na barra de menus, navegue até Arquivo>>C:\SQLBDC\SQLBDCexample, e então selecione o botão Selecionar Pasta. A pasta aparece no modo de exibição do Explorer à esquerda.

  2. Na exibição do Explorer , selecione a pasta , SQLBDCexample e, em seguida, o ícone Novo Arquivo ao lado da pasta de trabalho.

    Novo arquivo

  3. Nomeie o novo arquivo com a .py extensão de arquivo (script Spark). Este exemplo usa HelloWorld.py.

  4. Copie e cole o seguinte código no arquivo de script:

    import sys
    from operator import add
    from pyspark.sql import SparkSession, Row
    
    spark = SparkSession\
       .builder\
       .appName("PythonWordCount")\
       .getOrCreate()
    
    data = [Row(col1='pyspark and spark', col2=1), Row(col1='pyspark', col2=2), Row(col1='spark vs hadoop', col2=2), Row(col1='spark', col2=2), Row(col1='hadoop', col2=2)]
    df = spark.createDataFrame(data)
    lines = df.rdd.map(lambda r: r[0])
    
    counters = lines.flatMap(lambda x: x.split(' ')) \
       .map(lambda x: (x, 1)) \
       .reduceByKey(add)
    
    output = counters.collect()
    sortedCollection = sorted(output, key = lambda r: r[1], reverse = True)
    
    for (word, count) in sortedCollection:
       print("%s: %i" % (word, count))
    

Antes de enviar scripts para seus clusters do Visual Studio Code, você precisa vincular um cluster de Big Data do SQL Server.

  1. Na barra de menus, navegue até Exibir>Paleta de Comandos...e insira Spark/Hive: Vincular um cluster.

    comando do cluster de link

  2. Selecione o tipo de cluster vinculado SQL Server Big Data.

  3. Insira o ponto de extremidade de Big Data do SQL Server.

  4. Insira o nome de usuário do cluster de Big Data do SQL Server.

  5. Insira a senha para o administrador do usuário.

  6. Defina o nome de exibição do cluster de Big Data (opcional).

  7. Listar clusters, revisar a vista OUTPUT para verificação.

Listar clusters

  1. Na barra de menus, navegue até Exibir>Paleta de Comandos... e insira Spark/Hive: Listar Cluster.

  2. Examine a exibição SAÍDA. A visualização mostrará seus clusters vinculados.

    Definir uma configuração de cluster padrão

Definir cluster padrão

  1. Re-Open a pasta SQLBDCexample criada anteriormente, caso esteja fechada.

  2. Selecione o arquivo HelloWorld.py criado anteriormente e ele será aberto no editor de script.

  3. Vincule um cluster se você ainda não fez isso.

  4. Clique com o botão direito do mouse no editor de scripts e selecione Spark/Hive: Definir Cluster Padrão.

  5. Selecione um cluster como o cluster padrão para o arquivo de script atual. As ferramentas atualizam automaticamente o arquivo de configuração .VSCode\settings.js.

    Definir configuração de cluster padrão

Enviar consultas interativas de PySpark

Você pode enviar consultas PySpark interativas seguindo as etapas abaixo:

  1. Reabra a pasta SQLBDCexample criada anteriormente, caso esteja fechada.

  2. Selecione o arquivo HelloWorld.py criado anteriormente e ele será aberto no editor de script.

  3. Vincule um cluster se você ainda não fez isso.

  4. Escolha todo o código e clique com o botão direito do mouse no editor de scripts, selecione Spark: PySpark Interativo para enviar a consulta ou use o atalho Ctrl + Alt + I.

    menu de contexto interativo do pyspark

  5. Selecione o cluster se você não especificou um cluster padrão. Após alguns instantes, os resultados interativos do Python aparecem em uma nova guia. As ferramentas também permitem que você envie um bloco de código em vez de todo o arquivo de script usando o menu de contexto.

    janela interativa do Python interativo do pyspark

  6. Insira "%%info" e pressione Shift + Enter para exibir as informações do trabalho. (Opcional)

    exibir informações do trabalho

    Observação

    Quando a extensão python habilitada estiver desmarcada nas configurações (a configuração padrão é verificada), os resultados de interação do pyspark enviados usarão a janela antiga.

    Extensão pyspark interativa do Python desabilitada

Enviar trabalho em lotes PySpark

  1. Reabra a pasta SQLBDCexample criada anteriormente, caso esteja fechada.

  2. Selecione o arquivo HelloWorld.py criado anteriormente e ele será aberto no editor de script.

  3. Vincule um cluster se você ainda não fez isso.

  4. Clique com o botão direito do mouse no editor de scripts e selecione Spark: Lote PySpark ou use o atalho Ctrl + Alt + H.

  5. Selecione o cluster se você não especificou um cluster padrão. Após você enviar um trabalho do Python, os logs de envio aparecem na janela de SAÍDA no Visual Studio Code. A URL da interface do usuário do Spark e a URL da interface do usuário do Yarn também são mostradas. Você pode abrir a URL em um navegador da Web para acompanhar o status do trabalho.

    Enviar resultado do trabalho do Python

Configuração do Apache Livy

Há suporte para a configuração do Apache Livy, que pode ser definida no .VSCode\settings.jsna pasta do espaço de trabalho. Atualmente, a configuração do Livy dá suporte apenas ao script de Python. Mais detalhes, consulte Livy README.

Como disparar a configuração do Livy

Método 1

  1. Na barra de menus, navegue até Arquivo>Preferências>Configurações.
  2. Na caixa de texto Configurações de Pesquisa, insira Envio de Trabalho do HDInsight: Livy Conf.
  3. Selecione Editar em settings.json para o resultado da pesquisa relevante.

Método 2

Envie um arquivo, observe que a .vscode pasta é adicionada automaticamente à pasta de trabalho. Você pode encontrar a configuração do Livy selecionando settings.json em .vscode.

As configurações do projeto:

Configuração do Livy

Observação

Para configurações driverMemory e executorMemory, defina o valor com unidade, por exemplo, 1 gb ou 1024 mb.

Configurações suportadas do Livy

POST /batches

Corpo da solicitação

nome descrição tipo
arquivo Arquivo que contém o aplicativo a ser executado caminho (obrigatório)
proxyUser Usuário a representar ao executar o trabalho corda
className Classe principal de Java/Spark do aplicativo corda
args Argumentos de linha de comando para o aplicativo lista de cadeias de caracteres
Frascos jars a serem usados nesta sessão Lista de cadeia de caracteres
pyFiles Arquivos python a serem usados nesta sessão Lista de cadeia de caracteres
arquivos arquivos a serem usados nesta sessão Lista de cadeia de caracteres
driverMemory Quantidade de memória a ser usada para o processo de driver corda
driverCores Número de núcleos a serem usados para o processo de driver int
memória do executor Quantidade de memória a ser usada por processo de executor corda
executorCores Número de núcleos a serem usados para cada executor int
numExecutores Número de executores a serem iniciados para esta sessão int
arquivo Arquivos a serem usados nesta sessão Lista de cadeia de caracteres
fila O nome da fila YARN para a qual o envio foi enviado corda
nome O nome desta sessão corda
Conf Propriedades de configuração do Spark Mapa de chave = valor
:- :- :-

Corpo da resposta

O objeto de lote criado.

nome descrição tipo
id A ID da sessão int
ID do aplicativo A ID do aplicativo desta sessão fio
appInfo As informações detalhadas do aplicativo Mapa de chave = valor
registro As linhas de log lista de cadeias de caracteres
estado O estado do lote corda
:- :- :-

Observação

A configuração do Livy atribuída será exibida no painel de saída ao enviar o script.

Recursos adicionais

O Spark &Hive para Visual Studio Code dá suporte aos seguintes recursos:

  • Preenchimento automático do IntelliSense. As sugestões aparecem para palavra-chave, métodos, variáveis e muito mais. Ícones diferentes representam diferentes tipos de objetos.

    Ferramentas do Spark &hive para tipos de objeto IntelliSense do Visual Studio Code

  • Marcador de erro do IntelliSense. O serviço de idioma destaca os erros de edição do script Hive.

  • Destaques da sintaxe. O serviço de linguagem usa cores diferentes para diferenciar variáveis, palavras-chave, tipo de dados, funções e muito mais.

    Destaques da sintaxe do Spark & Hive Tools no Visual Studio Code

  1. Na barra de menus, navegue até Exibir>Paleta de Comandos...e, em seguida, insira Spark/Hive: Desvincular um Cluster.

  2. Selecione o cluster para desvincular.

  3. Examine a exibição SAÍDA para verificação.

Próximas etapas

Para obter mais informações sobre o cluster de Big Data do SQL Server e cenários relacionados, consulte clusters de Big Data do SQL Server.