Guida introduttiva: Creare un cluster Apache Spark in Azure HDInsight usando portale di Azure

In questa guida di avvio rapido si usa il portale di Azure per creare un cluster Apache Spark in Azure HDInsight. Creare quindi un'istanza di Jupyter Notebook e usarla per eseguire query Spark SQL su tabelle Apache Hive. Azure HDInsight è un servizio di analisi open source, gestito e ad ampio spettro per le aziende. Il framework Apache Spark per HDInsight consente di velocizzare cluster computing e analisi dei dati grazie all'elaborazione in memoria. Jupyter Notebook consente di interagire con i dati, combinare codice con testo di markdown ed eseguire semplici visualizzazioni.

Per una spiegazione approfondita delle configurazioni disponibili, vedere Configurare i cluster in HDInsight. Per altre informazioni sull'uso del portale per la creazione di cluster, vedere Creare cluster nel portale.

Se si usano più cluster insieme, è possibile creare una rete virtuale; se si usa un cluster Spark, è anche possibile usare hive warehouse Connessione or. Per altre informazioni, vedere Pianificare una rete virtuale per Azure HDInsight e Integrare Apache Spark e Apache Hive con Hive Warehouse Connector.

Importante

La fatturazione dei cluster HDInsight viene calcolata al minuto, indipendentemente dal fatto che siano in uso o meno. Assicurarsi di eliminare il cluster dopo aver finito di usarlo. Per altre informazioni, vedere la sezione Pulire le risorse di questo articolo.

Prerequisiti

Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.

Creare un cluster Apache Spark in HDInsight

Usare il portale di Azure per creare un cluster HDInsight che usa BLOB del servizio di archiviazione di Azure come risorsa di archiviazione del cluster. Per altre informazioni sull'uso di Data Lake Storage Gen2, vedi Guida introduttiva: impostazione dei cluster in HDInsight.

  1. Accedere al portale di Azure.

  2. Nel menu in alto selezionare + Crea una risorsa.

    Screenshot of Azure portal how to create a resource.

  3. Selezionare Analytics>Azure HDInsight per passare alla pagina Crea cluster HDInsight.

  4. Nella scheda Nozioni di base specificare le informazioni seguenti:

    Proprietà Descrizione
    Abbonamento Nell'elenco a discesa selezionare la sottoscrizione di Azure che viene usata per il cluster.
    Gruppo di risorse Nell'elenco a discesa selezionare il gruppo di risorse esistente oppure selezionare Crea nuovo.
    Nome cluster Immettere un nome globalmente univoco.
    Area Nell'elenco a discesa selezionare un'area in cui viene creato il cluster.
    Zona di disponibilità Facoltativo: specificare una zona di disponibilità in cui distribuire il cluster
    Tipo di cluster Selezionare il tipo di cluster per aprire un elenco. Nell'elenco selezionare Spark.
    Versione del cluster Questo campo viene popolato automaticamente con la versione predefinita dopo che è stato selezionato il tipo di cluster.
    Nome utente dell'account di accesso del cluster Immettere il nome utente dell'account di accesso del cluster. Il nome predefinito è admin. Questo account viene usato per accedere a Jupyter Notebook più avanti nella guida introduttiva.
    Password di accesso al cluster Immettere la password di accesso del cluster.
    Nome utente Secure Shell (SSH) Immettere il nome utente SSH. Il nome utente SSH usato per questa guida introduttiva è sshuser. Per impostazione predefinita, questo account condivide la stessa password dell'account Nome utente dell'account di accesso del cluster.

    Screenshot shows Create HDInsight cluster with the Basics tab selected.

  5. Selezionare Avanti: Archiviazione >> per passare alla pagina Archiviazione.

  6. In Archiviazione specificare i valori seguenti:

    Proprietà Descrizione
    Tipo di archiviazione primario Usare il valore predefinito Archiviazione di Azure.
    Metodo di selezione Usare il valore predefinito Selezionare dall'elenco.
    Account di archiviazione primario Usare il valore inserito automaticamente.
    Contenitore Usare il valore inserito automaticamente.

    Screenshot shows Create HDInsight cluster with the Storage tab selected.

    Selezionare Rivedi e crea per continuare.

  7. In Rivedi e crea selezionare Crea. La creazione del cluster richiede circa 20 minuti. Prima di procedere con la sessione successiva, è necessario creare il cluster.

Se si verifica un problema durante la creazione di cluster HDInsight, è possibile che non si abbiano le autorizzazioni necessarie per eseguire questa operazione. Per altre informazioni, vedere Requisiti di controllo di accesso.

Creare un notebook di Jupyter Notebook

Jupyter Notebook è un ambiente notebook interattivo che supporta diversi linguaggi di programmazione. Il notebook consente di interagire con i dati, combinare codice e testo Markdown ed eseguire visualizzazioni semplici.

  1. In un Web browser passare a https://CLUSTERNAME.azurehdinsight.net/jupyter dove CLUSTERNAME è il nome del cluster. Se richiesto, immettere le credenziali di accesso del cluster.

  2. Per creare un notebook selezionare Nuovo>PySpark.

    Create a Jupyter Notebook to run interactive Spark SQL query.

    Un nuovo notebook verrà creato e aperto con il nome Untitled (Untitled.pynb).

Eseguire le istruzioni Apache Spark SQL

SQL (Structured Query Language) è il linguaggio più diffuso e più usato per l'esecuzione di query e la definizione dei dati. Spark SQL funziona come estensione di Apache Spark per l'elaborazione dei dati strutturati, usando la nota sintassi SQL.

  1. Verificare che il kernel sia pronto. Il kernel è pronto quando accanto al relativo nome nel notebook viene visualizzato un cerchio vuoto. Un cerchio pieno indica che il kernel è occupato.

    Screenshot shows a Jupyter window with a PySpark indicator.

    Quando si avvia il notebook per la prima volta, il kernel esegue alcune attività in background. Attendere che il kernel sia pronto.

  2. Incollare il codice seguente in una cella vuota e quindi premere MAIUSC + INVIO per eseguire il codice. Il comando elenca le tabelle Hive sul cluster:

    %%sql
    SHOW TABLES
    

    Quando si usa un notebook Jupyter con il cluster HDInsight, si ottiene un elemento sqlContext predefinito che può essere usato per eseguire query Hive con Spark SQL. %%sql indica a Jupyter Notebook di usare l'elemento sqlContext predefinito per eseguire la query Hive. La query recupera le prime 10 righe di una tabella Hive (hivesampletable) disponibile per impostazione predefinita in tutti i cluster HDInsight. Per ottenere i risultati sono necessari circa 30 secondi. L'output sarà simile al seguente:

    Screenshot shows a Jupyter window for the notebook created in this quickstart. is quickstart." border="true":::

    Ogni volta che si esegue una query in Jupyter, il titolo della finestra del Web browser visualizza lo stato (Occupato) accanto al titolo del notebook. È anche visibile un cerchio pieno accanto al testo PySpark nell'angolo in alto a destra.

  3. Eseguire un'altra query per visualizzare i dati in hivesampletable.

    %%sql
    SELECT * FROM hivesampletable LIMIT 10
    

    La schermata si aggiornerà per visualizzare l'output della query.

    Hive query output in HDInsight. Insight" border="true":::

  4. Nel menu File del notebook fare clic su Close and Halt (Chiudi e interrompi). Quando il notebook viene arrestato, le risorse del cluster vengono rilasciate.

Pulire le risorse

HDInsight salva i dati in Archiviazione di Azure o in Azure Data Lake Storage in modo che sia possibile eliminare senza problemi un cluster quando non viene usato. Vengono addebitati i costi anche per i cluster HDInsight che non sono in uso. Poiché i costi per il cluster sono decisamente superiori a quelli per l'archiviazione, eliminare i cluster quando non vengono usati è una scelta economicamente conveniente. Se si prevede di svolgere subito l'esercitazione elencata nei passaggi successivi, si può mantenere il cluster.

Tornare al portale di Azure e selezionare Elimina.

Azure portal delete an HDInsight cluster. cluster sight" border="true":::

È anche possibile selezionare il nome del gruppo di risorse per aprire la pagina del gruppo di risorse e quindi selezionare Elimina gruppo di risorse. Eliminando il gruppo di risorse, si elimina sia il cluster HDInsight che l'account di archiviazione predefinito.

Passaggi successivi

In questa guida di avvio rapido si è appreso come creare un cluster Apache Spark in HDInsight ed eseguire una query Spark SQL di base. Passare all'esercitazione successiva per imparare come usare un cluster HDInsight per eseguire query interattive su dati di esempio.