Megosztás a következőn keresztül:


Rövid útmutató: Az Apache HBase lekérdezése az Azure HDInsightban az Apache Phoenix használatával

Ebből a rövid útmutatóból megtudhatja, hogyan futtathat HBase-lekérdezéseket az Azure HDInsightban az Apache Phoenix használatával. Az Apache Phoenix az Apache HBase SQL-lekérdezési motorja. JDBC-illesztőként érhető el, és lehetővé teszi a HBase táblák SQL eszközzel végzett lekérdezését és kezelését. Az SQLLine egy parancssori segédprogram az SQL végrehajtásához.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Előfeltételek

ZooKeeper-csomópont azonosítása

Ha HBase-fürthöz csatlakozik, az Apache ZooKeeper-csomópontok egyikéhez kell csatlakoznia. Minden HDInsight-fürtnek három ZooKeeper-csomópontja van. A Curl segítségével gyorsan azonosíthatók a ZooKeeper-csomópontok. Szerkessze az alábbi curl parancsot a megfelelő értékek lecserélésével PASSWORD , CLUSTERNAME majd írja be a parancsot egy parancssorba:

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

A kimenet egy része a következőhöz hasonló lesz:

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

Jegyezze fel a későbbi használatra vonatkozó host_name értéket.

Tábla létrehozása és adatok kezelése

Az SSH használatával csatlakozhat a HBase-fürtökhöz, majd az Apache Phoenix használatával HBase-táblákat hozhat létre, adatokat szúrhat be és adatokat kérdezhet le.

  1. A HBase-fürthöz való csatlakozáshoz használja ssh a parancsot. Szerkessze az alábbi parancsot a fürt nevére cserélve CLUSTERNAME , majd írja be a parancsot:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Módosítsa a könyvtárat a Phoenix-ügyfélre. Írja be a következő parancsot:

    cd /usr/hdp/current/phoenix-client/bin
    
  3. Indítsa el az SQLLine-t. Szerkessze az alábbi parancsot úgy, hogy lecseréli ZOOKEEPER a korábban azonosított ZooKeeper-csomópontra, majd írja be a parancsot:

    ./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
    
  4. Hozzon létre egy HBase-táblát. Írja be a következő parancsot:

    CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
    
  5. Az SQLLine !tables paranccsal listázhatja a HBase összes táblát. Írja be a következő parancsot:

    !tables
    
  6. Értékek beszúrása a táblába. Írja be a következő parancsot:

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. A tábla lekérdezése. Írja be a következő parancsot:

    SELECT * FROM Company;
    
  8. Rekord törlése. Írja be a következő parancsot:

    DELETE FROM Company WHERE COMPANY_ID=1;
    
  9. A táblázat elvetése. Írja be a következő parancsot:

    DROP TABLE Company;
    
  10. Az SQLLine !quit paranccsal lépjen ki az SQLLine-ból. Írja be a következő parancsot:

    !quit
    

Az erőforrások eltávolítása

A rövid útmutató elvégzése után érdemes lehet törölni a fürtöt. A HDInsight az Azure Storage szolgáltatásban tárolja az adatokat, így biztonságosan törölhet olyan fürtöket, amelyek nincsenek használatban. Ráadásul a HDInsight-fürtök akkor is díjkötelesek, amikor éppen nincsenek használatban. Mivel a fürt költsége a sokszorosa a tároló költségeinek, gazdaságossági szempontból is ésszerű törölni a használaton kívüli fürtöket.

A fürtök törléséről a HDInsight-fürt törlése a böngésző, a PowerShell vagy az Azure CLI használatával című témakörben olvashat.

Következő lépések

Ebben a rövid útmutatóban megtanulta, hogyan futtathat HBase-lekérdezéseket az Azure HDInsightban az Apache Phoenix használatával. Ha többet szeretne megtudni az Apache Phoenixről, a következő cikk részletesebb vizsgálatot nyújt.