Udostępnij za pośrednictwem


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 używać rozwiązania Apache Phoenix do uruchamiania zapytań HBase w usłudze Azure HDInsight. Apache Phoenix to aparat zapytań SQL dla bazy danych Apache HBase. Jest on dostępny jako sterownik JDBC i umożliwia wykonywanie zapytań w tabelach HBase i zarządzanie nimi 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 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 ZooKeeper. Zmodyfikuj poniższe polecenie curl, zastępując PASSWORD i CLUSTERNAME odpowiednimi wartościami, a następnie wprowadź polecenie w terminalu:

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ć podobnie do następujących:

    {
      "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ść host_name do 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 utworzyć tabele bazy danych HBase, wstawić dane i wysyłać zapytania o dane przy użyciu platformy Apache Phoenix.

  1. Użyj ssh polecenia , aby nawiązać połączenie z klastrem HBase. Zmodyfikuj poniższe polecenie, zastępując CLUSTERNAME nazwą twojego klastra, a następnie wykonaj 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ę 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. Zapytaj tabelę. Wprowadź następujące polecenie:

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

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

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

    !quit
    

Czyszczenie zasobów

Po ukończeniu procedury szybkiego startu możesz usunąć klaster. W usłudze HDInsight dane są przechowywane w usłudze Azure Storage, dzięki czemu można bezpiecznie usunąć klaster, gdy nie jest używany. Opłaty są również naliczane za klaster usługi HDInsight, nawet jeśli nie jest używany. Ponieważ opłaty za klaster są wielokrotnie większe niż opłaty za magazyn, warto usunąć 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 szybkim starcie nauczyłeś się, jak używać Apache Phoenix do uruchamiania zapytań HBase w usłudze Azure HDInsight. Aby dowiedzieć się więcej na temat platformy Apache Phoenix, następny artykuł zawiera dokładniejsze badanie.