Szybki start: wykonywanie zapytań w bazie danych Apache HBase w usłudze Azure HDInsight przy użyciu rozwiązania Apache Phoenix

Z tego przewodnika Szybki start dowiesz się, jak uruchamiać zapytania HBase w usłudze Azure HDInsight przy użyciu rozwiązania Apache Phoenix. Apache Phoenix to aparat zapytań SQL dla bazy danych Apache HBase. Jest on dostępny jako sterownik JDBC i umożliwia wykonywanie zapytań i zarządzanie tabelami HBase przy użyciu języka SQL. SQLLine to narzędzie wiersza polecenia do wykonywania kodu SQL.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Identyfikowanie węzła usługi ZooKeeper

Podczas nawiązywania połączenia z klastrem HBase należy nawiązać połączenie z jednym z węzłów usługi Apache ZooKeeper. Każdy klaster usługi HDInsight ma trzy węzły usługi ZooKeeper. Narzędzie Curl może służyć do szybkiego identyfikowania węzła usługi ZooKeeper. Zmodyfikuj poniższe polecenie curl, zastępując PASSWORD wartości i CLUSTERNAME odpowiednimi wartościami, a następnie wprowadź polecenie w wierszu polecenia:

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

Część danych wyjściowych będzie wyglądać mniej więcej tak:

    {
      "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"
      }

Zanotuj wartość do host_name późniejszego użycia.

Tworzenie tabeli i manipulowanie danymi

Za pomocą protokołu SSH możesz nawiązać połączenie z klastrami HBase, a następnie użyć rozwiązania Apache Phoenix do tworzenia tabel bazy danych HBase, wstawiania danych i wykonywania zapytań o dane.

  1. Użyj ssh polecenia , aby nawiązać połączenie z klastrem HBase. Zmodyfikuj poniższe polecenie, zastępując CLUSTERNAME ciąg nazwą klastra, a następnie wprowadź polecenie:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Zmień katalog na klienta Phoenix. Wprowadź następujące polecenie:

    cd /usr/hdp/current/phoenix-client/bin
    
  3. Uruchom program SQLLine. Zmodyfikuj poniższe polecenie, zastępując ZOOKEEPER element węzłem ZooKeeper zidentyfikowanym wcześniej, a następnie wprowadź polecenie:

    ./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
    
  4. Utwórz tabelę bazy danych HBase. Wprowadź następujące polecenie:

    CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
    
  5. Użyj polecenia SQLLine !tables , aby wyświetlić listę wszystkich tabel w bazie HBase. Wprowadź następujące polecenie:

    !tables
    
  6. Wstaw wartości w tabeli. Wprowadź następujące polecenie:

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. Wykonaj zapytanie względem tabeli. Wprowadź następujące polecenie:

    SELECT * FROM Company;
    
  8. Usuwanie rekordu. Wprowadź następujące polecenie:

    DELETE FROM Company WHERE COMPANY_ID=1;
    
  9. Upuść tabelę. Wprowadź następujące polecenie:

    DROP TABLE Company;
    
  10. Użyj polecenia SQLLine !quit , aby zamknąć program SQLLine. Wprowadź następujące polecenie:

    !quit
    

Czyszczenie zasobów

Po ukończeniu przewodnika Szybki start możesz usunąć klaster. Dzięki usłudze HDInsight dane są przechowywane w usłudze Azure Storage, więc można bezpiecznie usunąć klaster, gdy nie jest używany. Opłaty za klaster usługi HDInsight są naliczane nawet wtedy, gdy nie jest używany. Ponieważ opłaty za klaster są wielokrotnie większe niż opłaty za magazyn, ze względów ekonomicznych warto usuwać klastry, gdy nie są używane.

Aby usunąć klaster, zobacz Usuwanie klastra usługi HDInsight przy użyciu przeglądarki, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Następne kroki

W tym przewodniku Szybki start przedstawiono sposób uruchamiania zapytań HBase w usłudze Azure HDInsight przy użyciu rozwiązania Apache Phoenix. Aby dowiedzieć się więcej na temat platformy Apache Phoenix, następny artykuł zawiera dokładniejsze badanie.