Condividi tramite


Usare la visualizzazione Hive di Apache Ambari con Apache Hadoop in HDInsight

Informazioni su come eseguire query Hive usando la vista Hive di Apache Ambari. Le viste di Hive consentono di creare, ottimizzare ed eseguire query Hive dal Web browser.

Prerequisiti

Un cluster Hadoop in HDInsight. Vedere Guida introduttiva: Introduzione ad Apache Hadoop e Apache Hive in Azure HDInsight usando il modello di Resource Manager.

Eseguire una query Hive

  1. Selezionare il proprio cluster nel portale di Azure. Per istruzioni, vedere la sezione su come elencare e visualizzare i cluster. Il cluster viene aperto in una nuova visualizzazione del portale.

  2. From dashboard del cluster, selezionare viste Ambari. Quando viene richiesta l'autenticazione, usare il nome e la password dell'account di accesso al cluster (per impostazione predefinita, admin) specificati durante la creazione del cluster. È anche possibile passare a https://CLUSTERNAME.azurehdinsight.net/#/main/views nel browser in cui CLUSTERNAME è il nome del cluster.

  3. Nell'elenco di viste selezionare vista Hive.

    Apache Ambari selezionare La vista Apache Hive.

    La pagina Vista Hive è simile all'immagine seguente:

    Immagine del foglio di lavoro della query per la vista Hive.

  4. Dalla scheda Query incollare le istruzioni HiveQL seguenti nel foglio di lavoro:

    DROP TABLE log4jLogs;
    CREATE EXTERNAL TABLE log4jLogs(
        t1 string,
        t2 string,
        t3 string,
        t4 string,
        t5 string,
        t6 string,
        t7 string)
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
    STORED AS TEXTFILE LOCATION '/example/data/';
    SELECT t4 AS loglevel, COUNT(*) AS count FROM log4jLogs
        WHERE t4 = '[ERROR]'
        GROUP BY t4;
    

    Queste istruzioni eseguono le azioni seguenti:

    Istruzione Descrizione
    DROP TABLE elimina la tabella e il file di dati, qualora la tabella esista già.
    CREATE EXTERNAL TABLE crea una nuova tabella "esterna" in Hive. Le tabelle esterne archiviano solo la definizione della tabella in Hive. I dati rimangono nel percorso originale.
    FORMATO RIGA indica il modo in cui sono formattati i dati. In questo caso, i campi in ogni log sono separati da uno spazio.
    MEMORIZZATO COME POSIZIONE DEL FILE DI TESTO indica dove sono archiviati i dati e che sono archiviati come testo.
    SELECT seleziona un conteggio di tutte le righe in cui la colonna t4 include il valore [ERROR].

    Importante

    Mantenere la selezione di Databasepredefinita. Gli esempi di questo documento usano il database predefinito incluso in HDInsight.

  5. Per avviare la query, selezionare Esegui sotto il foglio di lavoro. Il pulsante diventa arancione e il testo cambia in Interrompi.

  6. Al termine dell'elaborazione della query, nella scheda Risultati vengono visualizzati i risultati dell'operazione. Il testo seguente è il risultato della query:

    loglevel       count
    [ERROR]        3
    

    La scheda LOG può essere usata per visualizzare le informazioni sulla registrazione create dal processo.

    Suggerimento

    Scaricare o salvare i risultati dalla finestra di dialogo Azioni nella scheda Risultati.

L'oggetto visivo illustra

Per aprire una visualizzazione del piano di query, selezionare la scheda L'oggetto visivo illustra sotto il foglio di lavoro.

La vista L'oggetto visivo illustra della query può essere utile per conoscere il flusso delle query complesse.

Interfaccia utente di Tez

Per visualizzare l'interfaccia utente di Tez per la query, selezionare la scheda interfaccia utente di Tez sotto il foglio di lavoro.

Importante

Tez non viene usato per risolvere tutte le query. Molte query possono essere risolte senza usare Tez.

Visualizzazione cronologia processo

La scheda Jobs (Processi) visualizza una cronologia delle query Hive.

Cronologia delle schede dei processi di visualizzazione Apache Hive.

Tabelle di database

È possibile usare la scheda Tables (Tabelle) per utilizzare le tabelle in un database Hive.

Immagine della scheda Tabelle Apache Hive.

Query salvate

Dalla scheda Query è facoltativamente possibile salvare le query. Dopo aver salvato una query, è possibile riusarla dalla scheda Query salvate.

Scheda Query salvate delle viste Apache Hive.

Suggerimento

Le query salvate vengono archiviate nell'archiviazione cluster predefinita. Le query salvate sono disponibili nel percorso /user/<username>/hive/scripts. Vengono archiviate come file .hql in testo normale.

Se si elimina il cluster, ma si conserva l'archiviazione, è possibile usare un'utilità come Azure Storage Explorer o Data Lake Storage Explorer dal portale di Azure per recuperare le query.

Funzioni definite dall'utente

Hive può essere esteso tramite funzioni definite dall'utente (UDF), che consentono di implementare funzionalità o logiche non facilmente modellate in HiveQL.

La scheda della funzione definita dall'utente nella parte superiore della vista Hive consente di dichiarare e salvare un set di funzioni definite dall'utente, che è possibile usare con Query Editor.

Visualizzazione della scheda UDF della vista Apache Hive.

Viene visualizzato un pulsante Inserisci udfs nella parte inferiore dell'editor di query. Questa voce visualizza un elenco di riepilogo a discesa di funzioni definite dall'utente nella vista Hive. La selezione di una funzione definita dall'utente aggiungerà istruzioni HiveQL alla query per abilitare la funzione definita dall'utente.

Ad esempio, se è stata specificata una UDF con le proprietà seguenti:

  • Nome della risorsa: myudfs

  • Percorso della risorsa: /myudfs.jar

  • Nome della funzione definita dall'utente: myawesomeudf

  • Nome della classe per la funzione definita dall'utente: com.myudfs.Awesome

Se si usa il pulsante Insert udfs (Inserisci funzioni definite dall'utente), verrà visualizzata una voce denominata myudfs, con un altro elenco a discesa per ogni funzione definita dall'utente specificata per tale risorsa. In questo caso, myawesomeudf. Se si seleziona questa voce, verrà aggiunto quanto segue all'inizio della query:

add jar /myudfs.jar;
create temporary function myawesomeudf as 'com.myudfs.Awesome';

Si potrà quindi usare la funzione definita dall'utente nella query, Ad esempio: SELECT myawesomeudf(name) FROM people;.

Per altre informazioni sull'uso di funzioni definite dall'utente con Hive in HDInsight, vedere gli articoli seguenti:

Settings di Hive

È possibile modificare diverse impostazioni di Hive, ad esempio il motore di esecuzione per Hive da Tez (impostazione predefinita), in MapReduce.

Passaggi successivi

Per informazioni generali su Hive in HDInsight: