Tutorial: Usar o Azure Toolkit for IntelliJ para criar aplicativos Apache Spark para um cluster do HDInsightTutorial: Use Azure Toolkit for IntelliJ to create Apache Spark applications for HDInsight cluster

Este tutorial demonstra como usar o plug-in do Azure Toolkit for IntelliJ para desenvolver aplicativos do Apache Spark escritos em Scala e depois enviá-los diretamente do ambiente de desenvolvimento integrado IntelliJ (IDE) para um cluster do HDInsight Spark.This tutorial demonstrates how to use the Azure Toolkit for IntelliJ plug-in to develop Apache Spark applications written in Scala, and then submit them to an HDInsight Spark cluster directly from the IntelliJ integrated development environment (IDE). Você pode usar o plug-in destas maneiras:You can use the plug-in in a few ways:

  • Desenvolver e enviar um aplicativo Scala Spark em um cluster HDInsight Spark.Develop and submit a Scala Spark application on an HDInsight Spark cluster.
  • Acessar os recursos de cluster Spark do Azure HDInsight.Access your Azure HDInsight Spark cluster resources.
  • Desenvolver e executar um aplicativo Scala Spark localmente.Develop and run a Scala Spark application locally.

Neste tutorial, você aprenderá como:In this tutorial, you learn how to:

  • Usar o plug-in Azure Toolkit for IntelliJUse the Azure Toolkit for IntelliJ plug-in
  • Desenvolver aplicativos do Apache SparkDevelop Apache Spark applications
  • Enviar o aplicativo para o cluster HDInsight do AzureSubmit application to Azure HDInsight cluster

Pré-requisitosPrerequisites

Instalar o plug-in Scala para IntelliJ IDEAInstall Scala plugin for IntelliJ IDEA

Siga estas etapas para instalar o plug-in Scala:Perform the following steps to install the Scala plugin:

  1. Abra o IntelliJ IDEA.Open IntelliJ IDEA.

  2. Na tela de boas-vindas, navegue até Configurar > Plug-ins para abrir a janela Plug-ins.On the welcome screen, navigate to Configure > Plugins to open the Plugins window.

    Habilitar o plug-in do Scala no IntelliJ IDEA

  3. Selecione Instalar para o plug-in Scala caracterizado na nova janela.Select Install for the Scala plugin that is featured in the new window.

    Instalar o plug-in do Scala no IntelliJ IDEA

  4. Depois que o plug-in foi instalado com êxito, você deve reiniciar o IDE.After the plugin installs successfully, you must restart the IDE.

Criar um aplicativo Scala Spark para um cluster HDInsight SparkCreate a Spark Scala application for an HDInsight Spark cluster

  1. Inicie o IntelliJ IDEA e selecione Criar novo projeto para abrir a janela Novo projeto.Start IntelliJ IDEA, and select Create New Project to open the New Project window.

  2. Selecione Azure Spark/HDInsight no painel esquerdo.Select Azure Spark/HDInsight from the left pane.

  3. Selecione Projeto Spark (Scala) na janela principal.Select Spark Project (Scala) from the main window.

  4. Na lista suspensa Ferramenta de build, selecione uma das seguintes opções:From the Build tool drop-down list, select one of the following:

    • Maven para obter suporte ao assistente de criação de projetos Scala.Maven for Scala project-creation wizard support.

    • SBT para gerenciar as dependências e para criar no projeto Scala.SBT for managing the dependencies and building for the Scala project.

      A caixa de diálogo Novo Projeto no IntelliJ IDEA

  5. Selecione Avançar.Select Next.

  6. Na janela Novo Projeto, forneça as seguintes informações:In the New Project window, provide the following information:

    PropriedadeProperty DESCRIÇÃODescription
    Nome do projetoProject name Insira um nome.Enter a name. Este tutorial usa myApp.This tutorial uses myApp.
    Local do projetoProject location Insira o local desejado para salvar o projeto.Enter the desired location to save your project.
    SDK do projetoProject SDK Isso poderá ficar em branco no primeiro uso do IDEA.This might be blank on your first use of IDEA. Selecione Novo... e navegue até o JDK.Select New... and navigate to your JDK.
    Versão do SparkSpark Version O assistente de criação integra a versão apropriada para o SDK do Spark e o SDK do Scala.The creation wizard integrates the proper version for Spark SDK and Scala SDK. Se a versão do cluster do Spark for inferior a 2.0, selecione Spark 1.x.If the Spark cluster version is earlier than 2.0, select Spark 1.x. Caso contrário, selecione Spark 2.x.Otherwise, select Spark2.x. Esse exemplo usa o Spark 2.3.0 (Scala 2.11.8) .This example uses Spark 2.3.0 (Scala 2.11.8).

    Selecionar o SDK do Apache Spark

  7. Selecione Concluir.Select Finish. Pode levar alguns minutos antes que o projeto fique disponível.It may take a few minutes before the project becomes available.

  8. O projeto do Spark cria automaticamente um artefato para você.The Spark project automatically creates an artifact for you. Para exibir o artefato, faça o seguinte:To view the artifact, do the following:

    a.a. Na barra de menus, navegue até Arquivo > Estrutura do projeto... .From the menu bar, navigate to File > Project Structure....

    b.b. Na janela Estrutura do Projeto, selecione Artefatos.From the Project Structure window, select Artifacts.

    c.c. Selecione Cancelar depois de exibir o artefato.Select Cancel after viewing the artifact.

    Informações de artefato na caixa de diálogo

  9. Adicione o código-fonte do aplicativo seguindo estas etapas:Add your application source code by doing the following:

    a.a. Em Projeto, navegue até myApp > src > principal > scala.From Project, navigate to myApp > src > main > scala.

    b.b. Clique com o botão direito do mouse em scala e, em seguida, navegue até Novo > classe Scala.Right-click scala, and then navigate to New > Scala Class.

    Comandos para criar uma classe Scala do Projeto

    c.c. Na caixa de diálogo Criar Nova Classe do Scala, forneça um nome, selecione Objeto na lista suspensa Tipo e selecione OK.In the Create New Scala Class dialog box, provide a name, select Object in the Kind drop-down list, and then select OK.

    Criar caixa de diálogo Nova Classe Scala

    d.d. O arquivo myApp.scala então se abre na exibição principal.The myApp.scala file then opens in the main view. Substitua o código padrão pelo código localizado abaixo:Replace the default code with the code found below:

     import org.apache.spark.SparkConf
     import org.apache.spark.SparkContext
    
     object myApp{
         def main (arg: Array[String]): Unit = {
         val conf = new SparkConf().setAppName("myApp")
         val sc = new SparkContext(conf)
    
         val rdd = sc.textFile("wasbs:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    
         //find the rows that have only one digit in the seventh column in the CSV file
         val rdd1 =  rdd.filter(s => s.split(",")(6).length() == 1)
    
         rdd1.saveAsTextFile("wasbs:///HVACOut")
         }
    
     }
    

    O código lê os dados no HVAC.csv (disponível em todos os clusters Spark do HDInsight), recupera as linhas com apenas um dígito na sétima coluna no arquivo CSV e grava a saída em /HVACOut no contêiner padrão de armazenamento do cluster.The code reads the data from HVAC.csv (available on all HDInsight Spark clusters), retrieves the rows that have only one digit in the seventh column in the CSV file, and writes the output to /HVACOut under the default storage container for the cluster.

Conectar-se ao cluster HDInsightConnect to your HDInsight cluster

O usuário pode entrar a assinatura do Azure ou vincular um cluster HDInsight usando a credencial de usuário/senha ou domínio unido do Ambari para conectar seu cluster do HDInsight.User can either sign in to Azure subscription, or link a HDInsight cluster using Ambari username/password or domain joined credential to connect to your HDInsight cluster.

Entre em sua assinatura do AzureSign in to your Azure subscription

  1. Na barra de menus, navegue até Exibição > Janelas de Ferramentas > Azure Explorer.From the menu bar, navigate to View > Tool Windows > Azure Explorer.

    IntelliJ IDEA mostrar o Azure Explorer

  2. No Azure Explorer, clique com o botão direito do mouse no nó Azure e, em seguida, selecione Entrar.From Azure Explorer, right-click the Azure node, and then select Sign In.

    IntelliJ IDEA explorer clique com o botão direito do mouse no Azure

  3. Na caixa de diálogo Entrar no Azure, escolha Logon do Dispositivo e selecione Entrar.In the Azure Sign In dialog box, choose Device Login, and then select Sign in.

    IntelliJ IDEA logon no dispositivo de entrada do Azure

  4. Na caixa de diálogo Logon no Dispositivo do Azure, clique em Copiar e Abrir.In the Azure Device Login dialog box, click Copy&Open.

    IntelliJ IDEA logon no dispositivo do Azure

  5. Na interface do navegador, cole o código e clique em Avançar.In the browser interface, paste the code, and then click Next.

    Microsoft caixa de diálogo inserir código para HDI

  6. Insira suas credenciais do Azure e feche o navegador.Enter your Azure credentials, and then close the browser.

    Microsoft caixa de diálogo email para HDI

  7. Depois que você estiver conectado, a caixa de diálogo Selecionar Assinaturas listará todas as assinaturas do Azure associadas às credenciais.After you're signed in, the Select Subscriptions dialog box lists all the Azure subscriptions that are associated with the credentials. Selecione sua assinatura e, em seguida, selecione o botão Selecionar.Select your subscription and then select the Select button.

    A caixa de diálogo Selecionar Assinaturas

  8. No Azure Explorer, expanda HDInsight para exibir os clusters Spark do HDInsight em suas assinaturas.From Azure Explorer, expand HDInsight to view the HDInsight Spark clusters that are in your subscriptions.

    IntelliJ IDEA exibição principal do Azure Explorer

  9. Para exibir os recursos (por exemplo, contas de armazenamento) associados ao cluster, você poderá expandir ainda mais um nó de nome de cluster.To view the resources (for example, storage accounts) that are associated with the cluster, you can further expand a cluster-name node.

    Contas de armazenamento do Azure Explorer

Você pode vincular um cluster HDInsight usando o nome de usuário gerenciado do Apache Ambari.You can link an HDInsight cluster by using the Apache Ambari managed username. Da mesma forma, para um cluster HDInsight ingressado no domínio, crie o vínculo usando o domínio e o nome de usuário, como user1@contoso.com.Similarly, for a domain-joined HDInsight cluster, you can link by using the domain and username, such as user1@contoso.com. Also you can link Livy Service cluster.Also you can link Livy Service cluster.

  1. Na barra de menus, navegue até Exibição > Janelas de Ferramentas > Azure Explorer.From the menu bar, navigate to View > Tool Windows > Azure Explorer.

  2. No Azure Explorer, clique com o botão direito do mouse em HDInsight nó e selecione Vincular um Cluster.From Azure Explorer, right-click the HDInsight node, and then select Link A Cluster.

    Menu de contexto do cluster do link do Azure Explorer

  3. As opções disponíveis na janela Vincular um Cluster vão variar conforme o valor selecionado na lista suspensa Tipo de Recurso de Link.The available options in the Link A Cluster window will vary depending on which value you select from the Link Resource Type drop-down list. Insira seus valores e, em seguida, selecione OK.Enter your values and then select OK.

    • Cluster do HDInsightHDInsight Cluster

      PropriedadeProperty ValorValue
      Tipo de Recurso de LinkLink Resource Type Selecione Cluster do HDInsight na lista suspensa.Select HDInsight Cluster from the drop-down list.
      Nome/URL do clusterCluster Name/URL Insira o nome do cluster.Enter cluster name.
      Tipo de autenticaçãoAuthentication Type Deixe como Autenticação BásicaLeave as Basic Authentication
      Nome do UsuárioUser Name Insira o nome de usuário do cluster, o padrão é admin.Enter cluster user name, default is admin.
      SenhaPassword Insira a senha do nome de usuário.Enter password for user name.

      Caixa de diálogo vincular um cluster do IntelliJ IDEA

    • Serviço LivyLivy Service

      PropriedadeProperty ValorValue
      Tipo de Recurso de LinkLink Resource Type Selecione Serviço Livy na lista suspensa.Select Livy Service from the drop-down list.
      Ponto de Extremidade do LivyLivy Endpoint Inserir o Ponto de Extremidade LivyEnter Livy Endpoint
      Nome do clusterCluster Name Insira o nome do cluster.Enter cluster name.
      Ponto de Extremidade do YarnYarn Endpoint Opcional.Optional.
      Tipo de autenticaçãoAuthentication Type Deixe como Autenticação BásicaLeave as Basic Authentication
      Nome do UsuárioUser Name Insira o nome de usuário do cluster, o padrão é admin.Enter cluster user name, default is admin.
      SenhaPassword Insira a senha do nome de usuário.Enter password for user name.

      Caixa de diálogo vincular cluster do Livy do IntelliJ IDEA

  4. Você pode ver seu cluster vinculado do nó do HDInsight.You can see your linked cluster from the HDInsight node.

    Azure Explorer cluster vinculado1

  5. Também é possível desvincular um cluster a partir do Azure Explorer.You also can unlink a cluster from Azure Explorer.

    Azure Explorer cluster não vinculado

Executar um aplicativo Scala Spark em um cluster HDInsight SparkRun a Spark Scala application on an HDInsight Spark cluster

Depois de criar um aplicativo Scala, você poderá enviá-lo ao cluster.After creating a Scala application, you can submit it to the cluster.

  1. De Projeto, navegue até myApp > src > principal > scala > myApp.From Project, navigate to myApp > src > main > scala > myApp. Clique com o botão direito do mouse em myApp e selecione Enviar Aplicativo Spark (provavelmente estará localizado na parte inferior da lista).Right-click myApp, and select Submit Spark Application (It will likely be located at the bottom of the list).

    O comando Enviar Aplicativo Spark para HDInsight

  2. Na janela de diálogo Enviar Aplicativo do Spark, selecione 1. Spark no HDInsight.In the Submit Spark Application dialog window, select 1. Spark on HDInsight.

  3. Na janela Editar configuração, forneça os seguintes valores e, em seguida, selecione OK:In the Edit configuration window, provide the following values and then select OK:

    PropriedadeProperty ValorValue
    Clusters Spark (somente Linux)Spark clusters (Linux only) Selecione o cluster HDInsight Spark no qual você deseja executar o aplicativo.Select the HDInsight Spark cluster on which you want to run your application.
    Selecione um Artefato para enviarSelect an Artifact to submit Deixe a configuração padrão.Leave default setting.
    Nome de classe principalMain class name O valor padrão é a classe principal do arquivo selecionado.The default value is the main class from the selected file. Você pode alterar a classe selecionando as reticências ( ... ) e escolhendo outra classe.You can change the class by selecting the ellipsis(...) and choosing another class.
    Configurações de trabalhoJob configurations Você pode alterar os valores de e/ou as chaves padrão.You can change the default keys and/or values. Para obter mais informações, confira API REST do Apache Livy.For more information, see Apache Livy REST API.
    Argumentos de linha de comandoCommand line arguments Você pode inserir argumentos separados por espaço para a classe principal se necessário.You can enter arguments separated by space for the main class if needed.
    Arquivos Referenciados e Jars ReferenciadosReferenced Jars and Referenced Files Você pode inserir os caminhos para os Jars referenciados e arquivos, se houver.You can enter the paths for the referenced Jars and files if any. Você também pode procurar arquivos no sistema de arquivos virtual do Azure, que atualmente suporta apenas o cluster ADLS Gen 2.You can also browse files in the Azure virtual file system, which currently only supports ADLS Gen 2 cluster. Para mais informações: Configuração do Apache Spark.For more information: Apache Spark Configuration. Confira também Como carregar recursos para o cluster.See also, How to upload resources to cluster.
    Armazenamento de Upload de TrabalhoJob Upload Storage Expanda para revelar opções adicionais.Expand to reveal additional options.
    Tipo de armazenamentoStorage Type Selecione Usar Blob do Azure para carregar na lista suspensa.Select Use Azure Blob to upload from the drop-down list.
    Conta de armazenamentoStorage Account Insira sua conta de armazenamento.Enter your storage account.
    Chave de ArmazenamentoStorage Key Insira sua chave de armazenamento.Enter your storage key.
    Contêiner de armazenamentoStorage Container Selecione seu contêiner de armazenamento na lista suspensa depois que Conta de Armazenamento e Chave de Armazenamento tiverem sido inseridas.Select your storage container from the drop-down list once Storage Account and Storage Key has been entered.

    A caixa de diálogo Envio do Spark

  4. Selecione SparkJobRun para enviar seu projeto para o cluster selecionado.Select SparkJobRun to submit your project to the selected cluster. A guia Remote Spark Job no cluster exibe o progresso da execução da tarefa na parte inferior.The Remote Spark Job in Cluster tab displays the job execution progress at the bottom. Você pode interromper o aplicativo clicando no botão vermelho.You can stop the application by clicking the red button. Para saber como acessar a saída do trabalho, confira a seção "Acessar e gerenciar clusters Spark do HDInsight usando o Kit de Ferramentas do Azure para IntelliJ" mais adiante neste artigo.To learn how to access the job output, see the "Access and manage HDInsight Spark clusters by using Azure Toolkit for IntelliJ" section later in this article.

    A janela Envio do Apache Spark

Depurar aplicativos do Apache Spark local ou remotamente em um cluster do HDInsightDebug Apache Spark applications locally or remotely on an HDInsight cluster

Também recomendamos outra forma de enviar o aplicativo Spark ao cluster.We also recommend another way of submitting the Spark application to the cluster. Você pode fazer isso definido os parâmetros no IDE Executar/Depurar configurações.You can do so by setting the parameters in the Run/Debug configurations IDE. Para obter mais informações, consulte Depurar aplicativos do Apache Spark local ou remotamente em um cluster do HDInsight com o Azure Toolkit for IntelliJ por meio do SSH.For more information, see Debug Apache Spark applications locally or remotely on an HDInsight cluster with Azure Toolkit for IntelliJ through SSH.

Acessar e gerenciar clusters Spark do HDInsight usando o Kit de Ferramentas do Azure para IntelliJAccess and manage HDInsight Spark clusters by using Azure Toolkit for IntelliJ

Você pode executar várias operações usando o Kit de Ferramentas do Azure para IntelliJ.You can perform various operations by using Azure Toolkit for IntelliJ. A maioria das operações é iniciada pelo Azure Explorer.Most of the operations are initiated from Azure Explorer. Na barra de menus, navegue até Exibição > Janelas de Ferramentas > Azure Explorer.From the menu bar, navigate to View > Tool Windows > Azure Explorer.

Acessar a exibição do trabalhoAccess the job view

  1. No Azure Explorer, navegue até HDInsight > <Seu Cluster> > Trabalhos.From Azure Explorer, navigate to HDInsight > <Your Cluster> > Jobs.

    IntelliJ nó de exibição de trabalho do Azure Explorer

  2. No painel direito, a guia Exibição de Trabalho do Spark exibe todos os aplicativos que foram executados no cluster.In the right pane, the Spark Job View tab displays all the applications that were run on the cluster. Selecione o nome do aplicativo do qual você deseja ver mais detalhes.Select the name of the application for which you want to see more details.

    Spark detalhes do aplicativo de exibição de trabalho

  3. Para exibir informações básicas do trabalho em execução, passe o mouse sobre o grafo de trabalhos.To display basic running job information, hover over the job graph. Para exibir o grafo de estágios e as informações geradas pelos trabalhos, escolha um nó no grafo de trabalhos.To view the stages graph and information that every job generates, select a node on the job graph.

    Detalhes de preparação de trabalhos da exibição de trabalho do Spark

  4. Para exibir logs usados frequentemente, como Stderr do Driver, Stdout do Driver e Informações do diretório, escolha a guia Log.To view frequently used logs, such as Driver Stderr, Driver Stdout, and Directory Info, select the Log tab.

    Spark detalhes do Log de Exibição de Trabalho

  5. Você também pode exibir a interface do usuário de histórico do Spark e a interface do usuário do YARN (no nível do aplicativo) selecionando um link na parte superior da janela.You can also view the Spark history UI and the YARN UI (at the application level) by selecting a link at the top of the window.

Acessar o servidor de histórico do SparkAccess the Spark history server

  1. No Azure Explorer, expanda o HDInsight, clique com o botão direito do mouse no nome do cluster Spark e selecione Abrir interface do usuário do Histórico Spark.From Azure Explorer, expand HDInsight, right-click your Spark cluster name, and then select Open Spark History UI.

  2. Quando for solicitado, insira as credenciais do administrador do cluster, que você especificou ao configurar o cluster.When you're prompted, enter the cluster's admin credentials, which you specified when you set up the cluster.

  3. No painel do servidor de histórico do Spark, é possível usar o nome do aplicativo para procurar o que você acabou de executar.On the Spark history server dashboard, you can use the application name to look for the application that you just finished running. No código anterior, você definiu o nome do aplicativo usando val conf = new SparkConf().setAppName("myApp").In the preceding code, you set the application name by using val conf = new SparkConf().setAppName("myApp"). Portanto, o nome do aplicativo Spark é myApp.Therefore, your Spark application name is myApp.

Iniciar o portal do AmbariStart the Ambari portal

  1. No Azure Explorer, expanda HDInsight, clique com o botão direito do mouse no nome do cluster Spark e selecione Abrir Portal de Gerenciamento do Cluster (Ambari) .From Azure Explorer, expand HDInsight, right-click your Spark cluster name, and then select Open Cluster Management Portal(Ambari).

  2. Quando solicitado, insira as credenciais de administrador para o cluster.When you're prompted, enter the admin credentials for the cluster. Você especificou essas credenciais durante o processo de configuração do cluster.You specified these credentials during the cluster setup process.

Gerenciar assinaturas do AzureManage Azure subscriptions

Por padrão, o Kit de Ferramentas do Azure para IntelliJ listam os clusters Spark de todas as suas assinaturas do Azure.By default, Azure Toolkit for IntelliJ lists the Spark clusters from all your Azure subscriptions. Se for necessário, você poderá especificar as assinaturas que deseja acessar.If necessary, you can specify the subscriptions that you want to access.

  1. No Azure Explorer, clique com o botão direito do mouse no nó-raiz Azure e selecione Selecionar Assinaturas.From Azure Explorer, right-click the Azure root node, and then select Select Subscriptions.

  2. Na janela Selecionar Assinaturas, desmarque as caixas de seleção ao lado das assinaturas que você não deseja acessar e, em seguida, selecione Fechar.From the Select Subscriptions window, clear the check boxes next to the subscriptions that you don't want to access, and then select Close.

Console de igniçãoSpark Console

Você pode executar o Spark Local Console (Scala) ou executar o Console de Sessão Interativa do Spark Livy (Scala).You can run Spark Local Console(Scala) or run Spark Livy Interactive Session Console(Scala).

Console(Scala) Local do SparkSpark Local Console(Scala)

Verifique se você atendeu ao pré-requisito WINUTILS.EXE.Ensure you have satisfied the WINUTILS.EXE prerequisite.

  1. Na barra de menus, navegue até Executar > Editar configurações... .From the menu bar, navigate to Run > Edit Configurations....

  2. Na janela Executar/depurar configurações, no painel esquerdo, navegue até Apache Spark no HDInsight > [Spark no HDInsight] myApp.From the Run/Debug Configurations window, in the left pane, navigate to Apache Spark on HDInsight > [Spark on HDInsight] myApp.

  3. Na janela principal, selecione a guia Executar Localmente.From the main window, select the Locally Run tab.

  4. Forneça os seguintes valores e, em seguida, selecione OK:Provide the following values, and then select OK:

    PropriedadeProperty ValorValue
    Classe principal do trabalhoJob main class O valor padrão é a classe principal do arquivo selecionado.The default value is the main class from the selected file. Você pode alterar a classe selecionando as reticências ( ... ) e escolhendo outra classe.You can change the class by selecting the ellipsis(...) and choosing another class.
    Variáveis de ambienteEnvironment variables Garanta que o valor para HADOOP_HOME esteja correto.Ensure the value for HADOOP_HOME is correct.
    Localização de WINUTILS.exeWINUTILS.exe location Garanta que o caminho esteja correto.Ensure the path is correct.

    Definir a configuração Console local

  5. De Projeto, navegue até myApp > src > principal > scala > myApp.From Project, navigate to myApp > src > main > scala > myApp.

  6. Na barra de menus, navegue até Ferramentas > Console do Spark > Executar Console Local do Spark (Scala) .From the menu bar, navigate to Tools > Spark Console > Run Spark Local Console(Scala).

  7. Em seguida, duas caixas de diálogo poderão ser exibidas para perguntar se você deseja consertar as dependências automaticamente.Then two dialogs may be displayed to ask you if you want to auto fix dependencies. Neste caso, selecione Conserto Automático.If so, select Auto Fix.

    IntelliJ IDEA Spark caixa de diálogo correção automática1

    IntelliJ IDEA Spark caixa de diálogo correção automática2

  8. O console deve ser semelhante à imagem abaixo.The console should look similar to the picture below. No tipo de janela de console, digite sc.appName e, em seguida, pressione ctrl+Enter.In the console window type sc.appName, and then press ctrl+Enter. O resultado será mostrado.The result will be shown. Você pode encerrar o console local clicando no botão vermelho.You can terminate the local console by clicking red button.

    IntelliJ IDEA resultado do console local

Console de Sessão Interativa Spark Livy (Scala)Spark Livy Interactive Session Console(Scala)

Ele tem suporte apenas no IntelliJ 2018.2 e 2018.3.It is only supported on IntelliJ 2018.2 and 2018.3.

  1. Na barra de menus, navegue até Executar > Editar configurações... .From the menu bar, navigate to Run > Edit Configurations....

  2. Na janela Executar/depurar configurações, no painel esquerdo, navegue até Apache Spark no HDInsight > [Spark no HDInsight] myApp.From the Run/Debug Configurations window, in the left pane, navigate to Apache Spark on HDInsight > [Spark on HDInsight] myApp.

  3. Na janela principal, selecione a guia Executar Remotamente no Cluster.From the main window, select the Remotely Run in Cluster tab.

  4. Forneça os seguintes valores e, em seguida, selecione OK:Provide the following values, and then select OK:

    PropriedadeProperty ValorValue
    Clusters Spark (somente Linux)Spark clusters (Linux only) Selecione o cluster HDInsight Spark no qual você deseja executar o aplicativo.Select the HDInsight Spark cluster on which you want to run your application.
    Nome de classe principalMain class name O valor padrão é a classe principal do arquivo selecionado.The default value is the main class from the selected file. Você pode alterar a classe selecionando as reticências ( ... ) e escolhendo outra classe.You can change the class by selecting the ellipsis(...) and choosing another class.

    Definir a configuração Console interativo

  5. De Projeto, navegue até myApp > src > principal > scala > myApp.From Project, navigate to myApp > src > main > scala > myApp.

  6. Na barra de menus, navegue até Ferramentas > Console do Spark > Executar Console de Sessão Interativa do Spark Livy (Scala) .From the menu bar, navigate to Tools > Spark Console > Run Spark Livy Interactive Session Console(Scala).

  7. O console deve ser semelhante à imagem abaixo.The console should look similar to the picture below. No tipo de janela de console, digite sc.appName e, em seguida, pressione ctrl+Enter.In the console window type sc.appName, and then press ctrl+Enter. O resultado será mostrado.The result will be shown. Você pode encerrar o console local clicando no botão vermelho.You can terminate the local console by clicking red button.

    IntelliJ IDEA resultado do Console Interativo

Enviar seleção para o Console do SparkSend Selection to Spark Console

É conveniente para você prever o resultado do script enviando algum código para o console local ou Console (Scala) de sessão interativa Livy.It is convenient for you to foresee the script result by sending some code to the local console or Livy Interactive Session Console(Scala). Você pode realçar algum código no arquivo de Scala e então clicar com o botão direito do mouse em Enviar Seleção para o Console do Spark.You can highlight some code in the Scala file, then right-click Send Selection To Spark Console. Os códigos selecionados serão enviados para o console e serão executados.The selected code will be sent to the console and be performed. O resultado será exibido após o código no console.The result will be displayed after the code in the console. O console verificará os erros, se existente.The console will check the errors if existing.

Enviar seleção para o Console do Spark

Função somente leituraReader-only role

Quando os usuários enviam um trabalho a um cluster com permissão de função somente leitura, as credenciais do Ambari são solicitadas.When users submit job to a cluster with reader-only role permission, Ambari credentials is required.

  1. Entrar com conta com função somente leitura.Sign in with reader-only role account.

  2. No Azure Explorer, expanda HDInsight para exibir os clusters do HDInsight em sua assinatura.From Azure Explorer, expand HDInsight to view HDInsight clusters that are in your subscription. Os clusters marcados "Role:Reader" só tem permissão para a função somente leitura.The clusters marked "Role:Reader" only have reader-only role permission.

    IntelliJ Azure Explorer Role:Reader

  3. Clique com botão direito do mouse no cluster com permissão para a função somente leitura.Right-click the cluster with reader-only role permission. Selecione Vincular este cluster no menu de contexto para vincular o cluster.Select Link this cluster from context menu to link cluster. Insira o nome de usuário e a senha do Ambari.Enter the Ambari username and Password.

    IntelliJ Azure Explorer vincular este cluster

  4. Se o cluster for vinculado com êxito, o HDInsight será atualizado.If the cluster is linked successfully, HDInsight will be refreshed. O estágio do cluster será se tornará vinculado.The stage of the cluster will become linked.

    IntelliJ Azure Explorer caixa de diálogo vinculada

  1. Clique no nó Trabalhos, a janela Acesso negado ao cluster Trabalhos é exibida.Click Jobs node, Cluster Job Access Denied window pops up.

  2. Clique em Vincular este cluster para vincular o cluster.Click Link this cluster to link cluster.

    caixa de diálogo de acesso negado ao cluster trabalhos

  1. Crie uma configuração do HDInsight.Create an HDInsight Configuration. Depois selecione Executar Remotamente em Cluster.Then select Remotely Run in Cluster.

  2. Selecione um cluster, que tenha a permissão de função somente leitura, para Clusters do Spark (somente Linux) .Select a cluster, which has reader-only role permission for Spark clusters(Linux only). Uma mensagem de aviso é exibida. Você pode clicar em Vincular este cluster para vincular o cluster.Warning message shows out. You can Click Link this cluster to link cluster.

    IntelliJ IDEA executar/depurar criação de configuração

Exibir Contas de ArmazenamentoView Storage Accounts

  • Para clusters com permissão de função somente leitura, clique no nó Contas de Armazenamento, a janela Acesso Negado ao Armazenamento aparece.For clusters with reader-only role permission, click Storage Accounts node, Storage Access Denied window pops up. Você pode clicar em Abrir Gerenciador de Armazenamento do Azure para abrir o Gerenciador de Armazenamento.You can click Open Azure Storage Explorer to open Storage Explorer.

    IntelliJ IDEA Acesso de Armazenamento Negado

    IntelliJ IDEA botão Acesso de Armazenamento Negado

  • Para clusters vinculados, clique no nó Contas de Armazenamento, a janela Acesso Negado ao Armazenamento aparece.For linked clusters, click Storage Accounts node, Storage Access Denied window pops up. Você pode clicar em Abrir Armazenamento do Azure para abrir o Gerenciador de Armazenamento.You can click Open Azure Storage to open Storage Explorer.

    IntelliJ IDEA Acesso de Armazenamento Negado2

    IntelliJ IDEA botão Acesso de Armazenamento Negado2

Converter aplicativos IntelliJ IDEA existentes a fim de usar o Kit de Ferramentas do Azure para IntelliJConvert existing IntelliJ IDEA applications to use Azure Toolkit for IntelliJ

Você pode converter os aplicativos Scala Spark existentes criados no IDEA do IntelliJ para serem compatíveis com o Kit de Ferramentas do Azure para IntelliJ.You can convert the existing Spark Scala applications that you created in IntelliJ IDEA to be compatible with Azure Toolkit for IntelliJ. Em seguida, você pode usar o plug-in para enviar os aplicativos a um cluster Spark do HDInsight.You can then use the plug-in to submit the applications to an HDInsight Spark cluster.

  1. Para um aplicativo Scala Spark existente criado no IDEA do IntelliJ, abra o arquivo .iml associado.For an existing Spark Scala application that was created through IntelliJ IDEA, open the associated .iml file.

  2. Há um elemento module no nível de raiz, como o seguinte:At the root level is a module element like the following:

     <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
    

    Edite o elemento para adicionar UniqueKey="HDInsightTool" , de modo que o elemento module seja semelhante ao seguinte:Edit the element to add UniqueKey="HDInsightTool" so that the module element looks like the following:

     <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4" UniqueKey="HDInsightTool">
    
  3. Salve as alterações.Save the changes. Seu aplicativo deve ser compatível com o Kit de Ferramentas do Azure para IntelliJ.Your application should now be compatible with Azure Toolkit for IntelliJ. Você pode testar isso clicando com o botão direito do mouse no nome do projeto no Projeto.You can test it by right-clicking the project name in Project. Agora, o menu pop-up tem a opção Enviar Aplicativo Spark ao HDInsight.The pop-up menu now has the option Submit Spark Application to HDInsight.

Limpar recursosClean up resources

Se não for continuar a usar este aplicativo, exclua o cluster que criou seguindo estas etapas:If you're not going to continue to use this application, delete the cluster that you created with the following steps:

  1. Entre no Portal do Azure.Sign in to the Azure portal.

  2. Na caixa Pesquisar na parte superior, digite HDInsight.In the Search box at the top, type HDInsight.

  3. Selecione Clusters do HDInsight em Serviços.Select HDInsight clusters under Services.

  4. Na lista de clusters do HDInsight exibida, selecione ao lado do cluster que você criou para este tutorial.In the list of HDInsight clusters that appears, select the ... next to the cluster that you created for this tutorial.

  5. Selecione Excluir.Select Delete. Selecione Sim.Select Yes.

Excluir cluster HDInsight no portal do AzureAzure portal delete HDInsight cluster

Próximas etapasNext steps

Neste tutorial, você aprendeu como usar o plug-in do Azure Toolkit for IntelliJ para desenvolver aplicativos do Apache Spark escritos em Scala e depois os enviou diretamente do ambiente de desenvolvimento integrado IntelliJ (IDE) para um cluster do HDInsight Spark.In this tutorial, you learned how to use the Azure Toolkit for IntelliJ plug-in to develop Apache Spark applications written in Scala, and then submitted them to an HDInsight Spark cluster directly from the IntelliJ integrated development environment (IDE). Avance para o próximo artigo para ver como os dados que você registrou no Apache Spark podem ser removidos em uma ferramenta de análise de BI, assim como Power BI.Advance to the next article to see how the data you registered in Apache Spark can be pulled into a BI analytics tool such as Power BI.