Usare gli strumenti Azure Data Lake per Visual Studio con Sandbox di HortonworksUse the Azure Data Lake tools for Visual Studio with the Hortonworks Sandbox

Azure Data Lake include strumenti per l'uso di cluster Hadoop generici.Azure Data Lake includes tools for working with generic Hadoop clusters. Questo documento illustra la procedura necessaria per l'uso degli strumenti Data Lake con Hortonworks Sandbox in esecuzione in una macchina virtuale locale.This document provides the steps needed to use the Data Lake tools with the Hortonworks Sandbox running in a local virtual machine.

Sandbox di Hortonworks consente di utilizzare Hadoop in locale nell'ambiente di sviluppo.Using the Hortonworks Sandbox allows you to work with Hadoop locally on your development environment. Dopo aver sviluppato una soluzione da distribuire in modo scalabile, è possibile passare a un cluster HDInsight.After you have developed a solution and want to deploy it at scale, you can then move to an HDInsight cluster.

PrerequisitiPrerequisites

Configurare le password per SandboxConfigure passwords for the sandbox

Assicurarsi che l'ambiente Hortonworks Sandbox sia in esecuzione.Make sure that the Hortonworks Sandbox is running. Seguire la proceduta illustrata nel documento di introduzione a Hortonworks Sandbox.Then follow the steps in the Get started in the Hortonworks Sandbox document. per configurare la password dell'account root SSH e dell'account admin Ambari.These steps configure the password for the SSH root account, and the Ambari admin account. Queste password vengono usate per la connessione a Sandbox da Visual Studio.These passwords are used when you connect to the sandbox from Visual Studio.

Connettere gli strumenti a SandboxConnect the tools to the sandbox

  1. Aprire Visual Studio, selezionare Visualizza e quindi Esplora server.Open Visual Studio, select View, and then select Server Explorer.

  2. In Esplora server fare clic con il pulsante destro del mouse sulla voce HDInsight e quindi scegliere Connect to HDInsight Emulator (Connetti a HDInsight Emulator).From Server Explorer, right-click the HDInsight entry, and then select Connect to HDInsight Emulator.

    Schermata di Esplora Server con Connetti a HDInsight Emulator evidenziato

  3. Nella finestra di dialogo Connect to HDInsight Emulator (Connetti a HDInsight Emulator) immettere la password configurata per Ambari.From the Connect to HDInsight Emulator dialog box, enter the password that you configured for Ambari.

    Schermata della finestra di dialogo, con casella di testo della password evidenziata

    Selezionare Avanti per continuare.Select Next to continue.

  4. Usare il campo Password per immettere la password configurata per l'account root.Use the Password field to enter the password you configured for the root account. Mantenere i valori predefiniti per gli altri campi.Leave the other fields at the default value.

    Schermata della finestra di dialogo, con casella di testo della password evidenziata

    Selezionare Avanti per continuare.Select Next to continue.

  5. Attendere il completamento della convalida dei servizi.Wait for validation of the services to finish. In alcuni casi, la convalida potrebbe non riuscire e verrebbe chiesto di aggiornare la configurazione.In some cases, validation may fail and prompt you to update the configuration. Se la convalida ha esito negativo, selezionare il pulsante Aggiorna e attendere il completamento della configurazione e della verifica del servizio.If validation fails, select Update, and wait for the configuration and verification for the service to finish.

    Schermata della finestra di dialogo, con il pulsante Aggiorna evidenziato

    Nota

    Il processo di aggiornamento usa Ambari per modificare la configurazione di Hortonworks Sandbox su quella prevista dagli strumenti Data Lake per Visual Studio.The update process uses Ambari to modify the Hortonworks Sandbox configuration to what is expected by the Data Lake tools for Visual Studio.

  6. Al termine della convalida, selezionare Fine per completare la configurazione.After validation has finished, select Finish to complete configuration. Schermata della finestra di dialogo, con il pulsante Fine evidenziatoScreenshot of dialog box, with Finish button highlighted

    Nota

    A seconda della velocità dell'ambiente di sviluppo e della quantità di memoria allocata sulla macchina virtuale, la configurazione e la convalida dei servizi potrebbe richiedere alcuni minuti.Depending on the speed of your development environment, and the amount of memory allocated to the virtual machine, it can take several minutes to configure and validate the services.

Al termine della procedura indicata, si dispone di una voce Cluster locale HDInsight in Esplora server nella sezione HDInsight.After following these steps, you now have an HDInsight local cluster entry in Server Explorer, under the HDInsight section.

Scrivere una query HiveWrite a Hive query

Hive fornisce un linguaggio di query simile a SQL (HiveQL) per la gestione dei dati strutturati.Hive provides a SQL-like query language (HiveQL) for working with structured data. Per informazioni su come eseguire query a richiesta nel cluster locale, seguire questa procedura.Use the following steps to learn how to run on-demand queries against the local cluster.

  1. In Esplora server fare clic con il pulsante destro del mouse sulla voce del cluster locale aggiunto in precedenza e quindi scegliere Scrivi una query Hive.In Server Explorer, right-click the entry for the local cluster that you added previously, and then select Write a Hive Query.

    Schermata di Esplora server, con Scrivi una query Hive evidenziato

    Verrà visualizzata una nuova finestra di query,A new query window appears. utilizzabile per scrivere e inviare una query al cluster locale.Here you can quickly write and submit a query to the local cluster.

  2. Nella nuova finestra di query immettere il comando seguente:In the new query window, enter the following command:

     select count(*) from sample_08;
    

    Per eseguire la query, selezionare Invia nella parte superiore della finestra.To run the query, select Submit at the top of the window. Mantenere i valori predefiniti negli altri campi (Batch e nome del server).Leave the other values (Batch and server name) at the default values.

    Schermata della finestra di query, con il pulsante Invia evidenziato

    È anche possibile usare il menu a discesa accanto a Invia per selezionare Avanzate.You can also use the drop-down menu next to Submit to select Advanced. In questo modo è possibile specificare opzioni aggiuntive durante l'invio del processo.Advanced options allow you to provide additional options when you submit the job.

    Schermata della finestra di dialogo Invia Script

  3. Dopo aver inviato la query viene visualizzato lo stato del processo,After you submit the query, the job status appears. che fornisce informazioni sul processo mentre viene elaborato da Hadoop.The job status displays information about the job as it is processed by Hadoop. La voce Stato processo indica lo stato del processo.Job State provides the status of the job. Anche se lo stato viene aggiornato periodicamente, è possibile usare l'icona di aggiornamento per eseguire l'operazione manualmente.The state is updated periodically, or you can use the refresh icon to refresh the state manually.

    Schermata della finestra di dialogo Vista processi con Stato processo evidenziato

    Quando Stato processo diventa Terminato, viene visualizzato un grafo aciclico diretto (DAG).After the Job State changes to Finished, a Directed Acyclic Graph (DAG) is displayed. Questo diagramma descrive il percorso di esecuzione determinato da Tez durante l'elaborazione della query Hive.This diagram describes the execution path that was determined by Tez when processing the Hive query. Tez è il motore di esecuzione predefinito per Hive nel cluster locale.Tez is the default execution engine for Hive on the local cluster.

    Nota

    Tez è anche il motore predefinito quando si usano i cluster HDInsight basati su Linux.Tez is also the default when you are using Linux-based HDInsight clusters. Non è il valore predefinito in HDInsight basato su Windows.It is not the default on Windows-based HDInsight. Per usarlo su Windows è necessario aggiungere la riga set hive.execution.engine = tez; all'inizio della query Hive.To use it there, you must add the line set hive.execution.engine = tez; to the beginning of your Hive query.

    Usare il collegamento Job Output (Output processo) per visualizzare l'output.Use the Job Output link to view the output. In questo caso è 823, il numero di righe nella tabella sample_08.In this case, it is 823, the number of rows in the sample_08 table. È possibile visualizzare le informazioni di diagnostica relative al processo usando i collegamenti Job Log (Log processo) e Download YARN Log (Scarica log YARN).You can view diagnostics information about the job by using the Job Log and Download YARN Log links.

  4. È anche possibile eseguire in modo interattivo i processi Hive impostando il campo Batch su Interattivo,You can also run Hive jobs interactively by changing the Batch field to Interactive. quindi selezionando Esegui.Then select Execute.

    Schermata dei pulsanti Interattivo ed Esecuzione evidenziati

    Una query interattiva trasmette il log di output generato durante l'elaborazione alla finestra Output HiveServer2.An interactive query streams the output log generated during processing to the HiveServer2 Output window.

    Nota

    Si tratta delle stesse informazioni accessibili dal collegamento Log processo dopo il completamento del processo.The information is the same that is available from the Job Log link after a job has finished.

    Schermata del log di output

Creare un progetto HiveCreate a Hive project

Inoltre, è possibile creare un progetto che contiene più script Hive.You can also create a project that contains multiple Hive scripts. Usare un progetto quando si hanno script correlati o si vogliono archiviare gli script in un sistema di controllo della versione.Use a project when you have related scripts or want to store scripts in a version control system.

  1. In Visual Studio selezionare File, Nuovo e quindi Progetto.In Visual Studio, select File, New, and then Project.

  2. Nell'elenco dei progetti espandere Modelli e Azure Data Lake, quindi selezionare HIVE (HDInsight).From the list of projects, expand Templates, expand Azure Data Lake, and then select HIVE (HDInsight). Nell'elenco dei modelli selezionare Hive Sample (Esempio Hive).From the list of templates, select Hive Sample. Immettere un nome e un percorso e quindi selezionare OK.Enter a name and location, and then select OK.

    Screenshot della finestra Nuovo progetto, con Azure Data Lake, HIVE, Hive Sample e OK evidenziati

Il progetto Hive Sample (Esempio Hive) contiene due script, WebLogAnalysis.hql e SensorDataAnalysis.hql.The Hive Sample project contains two scripts, WebLogAnalysis.hql and SensorDataAnalysis.hql. È possibile inviare gli script usando lo stesso pulsante Invia nella parte superiore della finestra.You can submit these scripts by using the same Submit button at the top of the window.

Creare un progetto PigCreate a Pig project

Mentre Hive offre un linguaggio simile a SQL per la gestione dei dati strutturati, Pig esegue trasformazioni sui dati.While Hive provides a SQL-like language for working with structured data, Pig works by performing transformations on data. Pig offre infatti un linguaggio (Pig Latin) che consente di sviluppare una pipeline di trasformazioni.Pig provides a language (Pig Latin) that allows you to develop a pipeline of transformations. Per usare Pig con il cluster locale, seguire questa procedura:To use Pig with the local cluster, follow these steps:

  1. Aprire Visual Studio e selezionare File Nuovo e quindi Progetto.Open Visual Studio, and select File, New, and then Project. Nell'elenco dei progetti espandere Modelli e Azure Data Lake e quindi selezionare Pig (HDInsight).From the list of projects, expand Templates, expand Azure Data Lake, and then select Pig (HDInsight). Nell'elenco dei modelli selezionare Pig Application (Applicazione Pig).From the list of templates, select Pig Application. Immettere un nome e un percorso e quindi selezionare OK.Enter a name, location, and then select OK.

    Screenshot della finestra Nuovo progetto, con Azure Data Lake, Pig, Pig Application e OK evidenziati

  2. Immettere il testo seguente come contenuto del file script.pig creato con questo progetto.Enter the following text as the contents of the script.pig file that was created with this project.

     a = LOAD '/demo/data/Website/Website-Logs' AS (
         log_id:int,
         ip_address:chararray,
         date:chararray,
         time:chararray,
         landing_page:chararray,
         source:chararray);
     b = FILTER a BY (log_id > 100);
     c = GROUP b BY ip_address;
     DUMP c;
    

    Nonostante Pig usi un linguaggio diverso rispetto a Hive, la modalità di esecuzione dei processi si mantiene coerente tra entrambi i linguaggi tramite il pulsante Invia.While Pig uses a different language than Hive, how you run the jobs is consistent between both languages, through the Submit button. Selezionando l'elenco a discesa accanto a Invia viene visualizzata una finestra di dialogo di invio avanzato per Pig.Selecting the drop-down beside Submit displays an advanced submit dialog box for Pig.

    Schermata della finestra di dialogo Invia Script

  3. Anche lo stato del processo e l'output vengono visualizzati allo stesso modo di una query Hive.The job status and output is also displayed, the same as a Hive query.

    Screenshot di un processo Pig completato

Visualizzare i processiView jobs

Gli strumenti Data Lake consentono anche di visualizzare facilmente le informazioni sui processi che sono stati eseguiti in Hadoop.Data Lake tools also allow you to easily view information about jobs that have been run on Hadoop. Usare la procedura seguente per visualizzare i processi che sono stati eseguiti nel cluster locale.Use the following steps to see the jobs that have been run on the local cluster.

  1. In Esplora server fare clic con il pulsante destro del mouse sul cluster locale e quindi scegliere Visualizza processiFrom Server Explorer, right-click the local cluster, and then select View Jobs. per aprire l'elenco dei processi che sono stati inviati al cluster.A list of jobs that have been submitted to the cluster is displayed.

    Schermata di Esplora Server, con Visualizza processi evidenziato

  2. Da questo elenco, selezionare un processo per visualizzarne i dettagli.From the list of jobs, select one to view the job details.

    Schermata di Browser processi, con uno dei processi evidenziati

    Le informazioni visualizzate sono simili a quelle che appaiono dopo l'esecuzione di una query Hive o Pig, inclusi i collegamenti per visualizzare le informazioni relative al log e all'output.The information displayed is similar to what you see after running a Hive or Pig query, including links to view the output and log information.

  3. Da qui si può anche modificare il processo e inviarlo di nuovo.You can also modify and resubmit the job from here.

Visualizzare i database HiveView Hive databases

  1. In Esplora server espandere la voce HDInsight local cluster (Cluster locale HDInsight) e quindi Hive Databases (Database Hive).In Server Explorer, expand the HDInsight local cluster entry, and then expand Hive Databases. Verranno visualizzati i database Default e xademo nel cluster locale.The Default and xademo databases on the local cluster are displayed. Attraverso l'espansione di un database è possibile visualizzare le tabelle al suo interno.Expanding a database shows the tables within the database.

    Schermata di Esplora server, con i database espansi

  2. L'espansione della consente di visualizzare le colonne presenti in essa.Expanding a table displays the columns for that table. Per visualizzare rapidamente i dati fare clic con il pulsante destro del mouse su una tabella e scegliere Visualizza prime 100 righe.To quickly view the data, right-click a table, and select View Top 100 Rows.

    Schermata di Esplora server con tabella espansa e opzione Visualizza prime 100 righe selezionata

Proprietà del database e della tabellaDatabase and table properties

È possibile visualizzare le proprietà di un database o di una tabellaYou can view the properties of a database or table. in modo da mostrare i dettagli per l'elemento selezionato nella finestra Proprietà.Selecting Properties displays details for the selected item in the properties window. Vedere ad esempio le informazioni visualizzate nella schermata seguente:For example, see the information shown in the following screenshot:

Schermata della finestra Proprietà

Creare una tabellaCreate a table

Per creare una tabella, fare clic con il pulsante destro del mouse su un database e quindi scegliere Crea tabella.To create a table, right-click a database, and then select Create Table.

Schermata di Esplora Server, con Crea tabella evidenziato

È quindi possibile creare la tabella utilizzando un modulo.You can then create the table using a form. Nella parte inferiore della schermata seguente è possibile visualizzare il codice HiveQL non elaborato che verrà usato per creare la tabella.At the bottom of the following screenshot, you can see the raw HiveQL that is used to create the table.

Schermata del modulo usato per creare una tabella

Passaggi successiviNext steps