Usar pacotes externos com o Jupyter Notebooks 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
Um cluster do Apache Spark no HDInsight. Para obter instruções, veja Criar clusters do Apache Spark no Azure HDInsight.
Familiaridade com a utilização de Jupyter Notebooks com o Spark no HDInsight. Para obter mais informações, consulte Carregar dados e executar consultas com o Apache Spark no HDInsight.
O esquema de URI para o armazenamento primário de clusters. Isso seria
wasb://
para o Armazenamento do Azure,abfs://
para o Azure Data Lake Storage Gen2. Se a transferência segura estiver habilitada para o Armazenamento do Azure ou o Armazenamento Data Lake Gen2, o URI seráwasbs://
ouabfss://
, respectivamente, Consulte também, transferência segura.
Use pacotes externos com o Jupyter Notebooks
Navegue até
https://CLUSTERNAME.azurehdinsight.net/jupyter
ondeCLUSTERNAME
está o nome do cluster do Spark.Crie um novo bloco de notas. Selecione Novo e, em seguida, selecione Faísca.
É 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.
Você usará a
%%configure
mágica para configurar o notebook para usar um pacote externo. Em blocos de anotações que usam pacotes externos, certifique-se de chamar a%%configure
mágica 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"] }
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. Você pode descobrir a versão do Scala em seu cluster executando
scala.util.Properties.versionString
no kernel do Spark Jupyter ou no envio do Spark. Você pode descobrir a versão do Spark em seu cluster executandosc.version
em Jupyter Notebooks.c. Concatene os três valores, separados por dois pontos (:).
com.databricks:spark-csv_2.11:1.5.0
Execute a célula de código com a
%%configure
magia. Isso configurará a sessão subjacente do Livy para usar o pacote fornecido. Nas células subsequentes do bloco de anotações, agora você pode 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")
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
- Apache Spark com BI: execute análise de dados interativa usando o Spark no HDInsight com ferramentas de BI
- Apache Spark com Machine Learning: use o Spark no HDInsight para analisar a temperatura do edifício usando dados de HVAC
- Apache Spark com Machine Learning: use o Spark no HDInsight para prever resultados de inspeção de alimentos
- Análise de log do site usando o Apache Spark no HDInsight
Criar e executar aplicações
- Criar uma aplicação autónoma com o Scala
- Executar trabalhos remotamente em um cluster Apache Spark usando o Apache Livy
Ferramentas e extensões
- Usar pacotes Python externos com o Jupyter Notebooks em clusters Apache Spark no HDInsight Linux
- Utilizar o Plug-in das Ferramentas do HDInsight para o IntelliJ IDEA para criar e submeter aplicações do Spark Scala
- Use o plug-in HDInsight Tools para IntelliJ IDEA para depurar aplicativos Apache Spark remotamente
- Usar blocos de anotações Apache Zeppelin com um cluster Apache Spark no HDInsight
- Kernels disponíveis para o Jupyter Notebook no cluster Apache Spark para HDInsight
- Instalar o Jupyter no computador e ligar a um cluster do Spark do HDInsight