Compartir a través de


Inicio rápido: Consulta de Apache HBase en Azure HDInsight con Apache Phoenix

En este inicio rápido, aprenderá a usar Apache Phoenix para ejecutar consultas de HBase en Azure HDInsight. Apache Phoenix es un motor de consultas SQL para Apache HBase. Se obtiene acceso a él como controlador de JDBC y permite consultar y administrar tablas de HBase usando SQL. SQLLine es una utilidad de línea de comandos para ejecutar SQL.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Requisitos previos

Identificación de un nodo de ZooKeeper

Cuando se conecte a un clúster de HBase, debe hacerlo a uno de los nodos de Apache ZooKeeper. Cada clúster de HDInsight tiene tres nodos de Zookeeper. Curl se puede usar para identificar rápidamente un nodo de ZooKeeper. Modifique el siguiente comando curl: reemplace PASSWORD y CLUSTERNAME por los valores pertinentes y, luego, escriba el comando en un símbolo del sistema:

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

Parte de la salida se parecerá a esta:

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

Anote el valor de host_name para usarlo más adelante.

Creación de una tabla y manipulación de los datos

Puede usar SSH para conectarse a clústeres de HBase y, después, utilizar Apache Phoenix para crear tablas de HBase e insertar y consultar datos.

  1. Use el comando ssh para conectarse al clúster de HBase. Modifique el comando siguiente: reemplace CLUSTERNAME por el nombre del clúster y, luego, escriba el comando:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Cambie el directorio al cliente de Phoenix. Escriba el comando siguiente:

    cd /usr/hdp/current/phoenix-client/bin
    
  3. Inicie SQLLine. Modifique el comando siguiente: reemplace ZOOKEEPER por el nodo de ZooKeeper identificado anteriormente y, luego, escriba el comando:

    ./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
    
  4. Cree una tabla de HBase. Escriba el comando siguiente:

    CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
    
  5. Use el comando !tables de SQLLine para enumerar todas las tablas de HBase. Escriba el comando siguiente:

    !tables
    
  6. Inserte valores en la tabla. Escriba el comando siguiente:

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. Consulte la tabla. Escriba el comando siguiente:

    SELECT * FROM Company;
    
  8. Elimine un registro. Escriba el comando siguiente:

    DELETE FROM Company WHERE COMPANY_ID=1;
    
  9. Quite la tabla. Escriba el comando siguiente:

    DROP TABLE Company;
    
  10. Use el comando !quit de SQLLine para salir de SQLLine. Escriba el comando siguiente:

    !quit
    

Limpieza de recursos

Después de completar el inicio rápido, puede ser conveniente eliminar el clúster. Con HDInsight, los datos se almacenan en Azure Storage, por lo que puede eliminar un clúster de forma segura cuando no se esté usando. También se le cobrará por un clúster de HDInsight aunque no se esté usando. Como en muchas ocasiones los cargos por el clúster son mucho más elevados que los cargos por el almacenamiento, desde el punto de vista económico tiene sentido eliminar clústeres cuando no se estén usando.

Para eliminar un clúster, consulte Eliminación de un clúster de HDInsight con el explorador, PowerShell o la CLI de Azure.

Pasos siguientes

En este tutorial, ha aprendido a usar Apache Phoenix para ejecutar consultas de HBase en Azure HDInsight. Para más información sobre Apache Phoenix, en el siguiente artículo se proporciona un examen más profundo.