Dela via


Snabbstart: Fråga Apache HBase i Azure HDInsight med Apache Phoenix

I den här snabbstarten lär du dig hur du använder Apache Phoenix för att köra HBase-frågor i Azure HDInsight. Apache Phoenix är en SQL-frågemotor för Apache HBase. Den används som en JDBC-drivrutin och gör det möjligt att köra frågor mot och hantera HBase-tabeller med hjälp av SQL. SQLLine är ett kommandoradsverktyg för att köra SQL.

Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Förutsättningar

Identifiera en "ZooKeeper"-nod

När du ansluter till ett HBase-kluster måste du ansluta till en av Apache ZooKeeper-noderna. Varje HDInsight-kluster har tre ZooKeeper-noder. Curl kan användas för att snabbt identifiera en ZooKeeper-nod. Redigera curl-kommandot nedan genom att PASSWORD ersätta och CLUSTERNAME med relevanta värden och ange sedan kommandot i en kommandotolk:

curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER

En del av utdata ser ut ungefär så här:

    {
      "href" : "http://hn*.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net:8080/api/v1/clusters/myCluster/hosts/<zookeepername1>.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net/host_components/ZOOKEEPER_SERVER",
      "HostRoles" : {
        "cluster_name" : "myCluster",
        "component_name" : "ZOOKEEPER_SERVER",
        "host_name" : "<zookeepername1>.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net"
      }

Anteckna värdet för host_name för senare användning.

Skapa en tabell och ändra data

Du kan använda SSH för att ansluta till HBase-kluster och sedan använda Apache Phoenix för att skapa HBase-tabeller, infoga data och fråga efter data.

  1. Använd ssh kommandot för att ansluta till ditt HBase-kluster. Redigera kommandot nedan genom att CLUSTERNAME ersätta med namnet på klustret och ange sedan kommandot:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Ändra katalog till Phoenix-klienten. Ange följande kommando:

    cd /usr/hdp/current/phoenix-client/bin
    
  3. Starta SQLLine. Redigera kommandot nedan genom att ersätta med den ZooKeeper-nod ZOOKEEPER som identifierades tidigare och ange sedan kommandot:

    ./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
    
  4. Skapa en HBase-tabell. Ange följande kommando:

    CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
    
  5. Använd SQLLine-kommandot !tables för att visa en lista över alla tabeller i HBase. Ange följande kommando:

    !tables
    
  6. Infoga värden i tabellen. Ange följande kommando:

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. Sök i tabellen. Ange följande kommando:

    SELECT * FROM Company;
    
  8. Ta bort en post. Ange följande kommando:

    DELETE FROM Company WHERE COMPANY_ID=1;
    
  9. Ta bort tabellen. Ange följande kommando:

    DROP TABLE Company;
    
  10. Använd SQLLine-kommandot !quit för att avsluta SQLLine. Ange följande kommando:

    !quit
    

Rensa resurser

När du har slutfört snabbstarten kanske du vill ta bort klustret. Med HDInsight lagras dina data i Azure Storage, så att du på ett säkert sätt kan ta bort ett kluster när de inte används. Du debiteras också för ett HDInsight-kluster, även om det inte används. Eftersom avgifterna för klustret är många gånger högre än avgifterna för lagring är det ekonomiskt klokt att ta bort kluster när de inte används.

Information om hur du tar bort ett kluster finns i Ta bort ett HDInsight-kluster med webbläsaren, PowerShell eller Azure CLI.

Nästa steg

I den här snabbstarten har du lärt dig hur du använder Apache Phoenix för att köra HBase-frågor i Azure HDInsight. Om du vill veta mer om Apache Phoenix ger nästa artikel en djupare undersökning.