Partilhar via


Usar pacotes externos com o Jupyter Notebook em clusters do Apache Spark no HDInsight

Saiba como configurar um Jupyter Notebook no cluster Apache Spark no HDInsight para usar pacotes Apache maven externos e contribuídos pela comunidade que não estão incluídos prontos para uso no cluster.

Você pode pesquisar no repositório Maven a lista completa de pacotes disponíveis. Você também pode obter uma lista de pacotes disponíveis de outras fontes. Por exemplo, uma lista completa de pacotes contribuídos pela comunidade está disponível em Pacotes Spark.

Neste artigo, você aprenderá a usar o pacote spark-csv com o Jupyter Notebook.

Pré-requisitos

Use pacotes externos com o Jupyter Notebooks

  1. Navegue até https://CLUSTERNAME.azurehdinsight.net/jupyter onde CLUSTERNAME está o nome do cluster do Spark.

  2. Crie um novo bloco de notas. Selecione Novo e, em seguida, selecione Spark.

    Crie um novo Bloco de Anotações Spark Jupyter.

  3. É criado e aberto um novo bloco de notas com o nome Untitled.pynb. Selecione o nome do bloco de notas na parte superior e introduza um nome amigável.

    Forneça um nome para o bloco de anotações.

  4. Você usará o truque %%configure para configurar o notebook para usar um pacote externo. Em blocos de notas que usam pacotes externos, certifique-se de chamar o comando mágico %%configure na primeira célula de código. Isso garante que o kernel esteja configurado para usar o pacote antes do início da sessão.

    Importante

    Se você esquecer de configurar o kernel na primeira célula, você pode usar o %%configure com o -f parâmetro, mas isso irá reiniciar a sessão e todo o progresso será perdido.

    Versão do HDInsight Comando
    Para HDInsight 3.5 e HDInsight 3.6 %%configure
    { "conf": {"spark.jars.packages": "com.databricks:spark-csv_2.11:1.5.0" }}
    Para HDInsight 3.3 e HDInsight 3.4 %%configure
    { "packages":["com.databricks:spark-csv_2.10:1.4.0"] }
  5. O trecho acima espera as coordenadas maven para o pacote externo no Maven Central Repository. Neste trecho, com.databricks:spark-csv_2.11:1.5.0 é a coordenada maven para o pacote spark-csv . Veja como você constrói as coordenadas de um pacote.

    a. Localize o pacote no repositório Maven. Para este artigo, usamos spark-csv.

    b. No repositório, reúna os valores para GroupId, ArtifactId e Version. Certifique-se de que os valores coletados correspondem ao cluster. Nesse caso, estamos usando um pacote Scala 2.11 e Spark 1.5.0, mas talvez seja necessário selecionar versões diferentes para a versão apropriada do Scala ou do Spark em seu cluster. Pode verificar a versão do Scala no seu cluster executando scala.util.Properties.versionString no kernel do Spark Jupyter ou ao submeter no Spark. Você pode descobrir a versão do Spark em seu cluster executando sc.version em Jupyter Notebooks.

    Use pacotes externos com o Jupyter Notebook.

    c. Concatene os três valores, separados por dois pontos (:).

    com.databricks:spark-csv_2.11:1.5.0
    
  6. Execute o bloco de código com o %%configure comando mágico. Isso configurará a sessão subjacente do Livy para usar o pacote fornecido. Nas células subsequentes do bloco de notas, agora podes usar o pacote, como mostrado abaixo.

    val df = spark.read.format("com.databricks.spark.csv").
    option("header", "true").
    option("inferSchema", "true").
    load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    

    Para o HDInsight 3.4 e inferior, você deve usar o seguinte trecho.

    val df = sqlContext.read.format("com.databricks.spark.csv").
    option("header", "true").
    option("inferSchema", "true").
    load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    
  7. Em seguida, você pode executar os trechos, como mostrado abaixo, para exibir os dados do quadro de dados criado na etapa anterior.

    df.show()
    
    df.select("Time").count()
    

Consulte também

Cenários

Criar e executar aplicações

Ferramentas e extensões

Gerir recursos