Administra tablas

La forma más simple de administrar tus tablas de Cloud Bigtable es con el uso de la herramienta de línea de comandos cbt. En esta página se explica cómo usar cbt para crear, modificar y borrar tablas, y cómo obtener información sobre tablas existentes con cbt o Google Cloud Platform Console.

La herramienta cbt admite varios comandos que no están descritos en esta página. Consulta la referencia de cbt para ver la lista completa de comandos.

También puedes administrar tablas de manera programática mediante una de las bibliotecas cliente o API de servicio de Cloud Bigtable, o puedes administrar las tablas con la herramienta de línea de comandos de la shell de HBase. Consulta la documentación de HBase para obtener instrucciones sobre cómo usar la shell de HBase.

Antes de comenzar

Antes de comenzar, deberás instalar la herramienta cbt.

Configura la herramienta cbt

Puedes especificar valores predeterminados en los siguientes ajustes de configuración de cbt:

  • El proyecto en el que está ubicado tu instancia de Cloud Bigtable.
  • La instancia de Cloud Bigtable a la que te vas a conectar.
  • El archivo de credenciales, en formato JSON, que debes usar cuando te conectes a tu instancia. Consulta las instrucciones para crear una clave de cuenta de servicio. Si hiciste la autenticación mediante la ejecución de gcloud auth application-default login, o si usas la herramienta cbt en una instancia de Compute Engine, no necesitas un archivo de credenciales.
  • Los extremos de la API que vas a usar. Por lo general, no necesitarás cambiar estos valores.

Crea un archivo .cbtrc en el directorio de tu página principal, a fin de especificar los valores predeterminados para esta configuración. Puedes anular los valores predeterminados en .cbtrc mediante el uso de marcas de la línea de comandos.

Para crear un archivo .cbtrc, ejecuta el siguiente comando y reemplaza [PROJECT_ID] y [INSTANCE_ID] con los valores apropiados:

echo -e "project = [PROJECT_ID]\ninstance = [INSTANCE_ID]" > ~/.cbtrc

Por simplicidad, en las instrucciones restantes de esta página se presume que ya se realizó la configuración del ID del proyecto y del ID de la instancia en el archivo .cbtrc. Además, puedes usar las marcas -instance y -project para configurar estos valores cada vez que ejecutes cbt.

Crea una tabla

Cuando creas una tabla con la herramienta cbt, no es necesario especificar las familias de columnas que se usarán en la tabla. Después puedes agregar o borrar familias de columnas.

Para crear una tabla, usa el siguiente comando y reemplaza [TABLE_NAME] con el nombre de tu tabla:

cbt createtable [TABLE_NAME]

División de la tabla por clave de fila

Cuando creas una tabla, puedes dividir previamente la tabla en función de la clave de fila para dividir la carga entre varios nodos de Cloud Bigtable. Por ejemplo, si estás a punto de escribir una gran cantidad de filas en tu tabla, puedes dividirla previamente.

En general, hacer una división previa de tu tabla no es esencial, debido a que Cloud Bigtable divide la tabla automáticamente en segundo plano, según sea necesario. Además, ten en cuenta que Cloud Bigtable finalmente dividirá tu tabla en diferentes claves de fila, con base en la cantidad de datos que contenga la tabla y con qué frecuencia se accede a cada fila.

A fin de dividir previamente una tabla según la clave de fila, usa la siguiente sintaxis para crear la tabla y reemplaza [TABLE_NAME] con el nombre de la tabla y [SPLITS] con una lista separada por comas de los prefijos de clave de fila que se usarán para las divisiones previas:

cbt createtable [TABLE_NAME] splits=[SPLITS]

Por ejemplo, para dividir previamente la tabla my-table en las claves de fila que comienzan con 10 y 20, ingresa el siguiente comando:

cbt createtable my-table splits=10,20

Cómo modificar las familias de columnas en una tabla

Puedes usar la herramienta cbt para agregar o borrar familias de columnas en una tabla existente.

Agrega familias de columnas

Para agregar una familia de columnas, usa el siguiente comando y reemplaza [TABLE_NAME] con el nombre de la tabla y [FAMILY_NAME] con el nombre de la familia de columnas:

cbt createfamily [TABLE_NAME] [FAMILY_NAME]

Por ejemplo, ingresa estos comandos para agregar las familias de columnas cf1 y cf2 a la tabla my-table:

cbt createfamily my-table cf1
cbt createfamily my-table cf2

Borra familias de columnas

Usa el siguiente comando para borrar una familia de columnas de una tabla y reemplaza [TABLE_NAME] con el nombre de la tabla y [FAMILY_NAME] con el nombre de la familia de columnas:

cbt deletefamily [TABLE_NAME] [FAMILY_NAME]

Por ejemplo, ingresa este comando para borrar la familia de columnas cf2 de la tabla my-table:

cbt deletefamily my-table cf2

Cómo ver una lista de tablas

Console

Sigue estos pasos para ver una lista de tablas en una instancia:

  1. Abre la lista de instancias de Cloud Bigtable en GCP Console.

    Abrir la lista de instancias

  2. Haz clic en la instancia que tiene las tablas deseas ver.

  3. Haz clic en Tablas en el panel izquierdo.

    La página Tablas muestra una lista de tablas en la instancia.

    • Haz clic en la flecha al lado del ID de la tabla para expandir una lista de replicaciones de la tabla.
    • Haz clic en Ver métricas junto al nombre de una tabla para ver los datos de supervisión de la tabla.

cbt

Ejecuta el siguiente comando para ver una lista de tablas en una instancia:

cbt ls

Cómo ver información sobre una tabla

Puedes usar la herramienta cbt para obtener una lista de las familias de columnas existentes en una tabla.

Usa el siguiente comando para ver las familias de columnas de una tabla y reemplaza [TABLE_NAME] con el nombre de la tabla:

cbt ls [TABLE_NAME]

Configuración de políticas de recolección de elementos no utilizados

En esta sección, se explica cómo usar la herramienta cbt para controlar cuántas versiones de cada valor retiene Cloud Bigtable y cómo proporcionar un tiempo de caducidad para los valores. También puedes establecer políticas de recolección de elementos no utilizados de manera programática cuando utilizas una biblioteca cliente de Cloud Bigtable.

Retención de varias versiones de cada valor

Puedes especificar cuántas versiones de cada valor deseas retener en una familia de columnas al momento de crearla. Si no especificas esta configuración, Cloud Bigtable usa una de las siguientes opciones de configuración predeterminada:

  • Si creas la familia de columnas con el cliente de HBase para Java, la shell de HBase o cualquier otra herramienta que use este cliente, Cloud Bigtable retiene solo 1 versión de cada valor en la familia de columnas. Esta configuración predeterminada es coherente con HBase.
  • Si creas la familia de columnas con cualquier otra biblioteca cliente o herramienta, incluida cbt, Cloud Bigtable retiene una cantidad infinita de versiones de cada valor.

Usa el siguiente comando para cambiar la cantidad de versiones que se encuentran retenidas dentro de una familia de columnas y reemplaza [TABLE_NAME] con el nombre de la tabla, [FAMILY_NAME] con el nombre de la familia de columnas y [VERSIONS] con la cantidad de versiones que se desea retener:

cbt setgcpolicy [TABLE_NAME] [FAMILY_NAME] maxversions=[VERSIONS]

Por ejemplo, usa el siguiente comando para actualizar la familia de columnas cf1 en la tabla my-table de modo que retenga cinco versiones de cada valor:

cbt setgcpolicy my-table cf1 maxversions=5

Configuración de plazo de vencimiento para los valores

Cuando creas una familia de columnas, puedes especificar el momento del vencimiento de cada valor. Si no especificas esta configuración, los valores de la familia de columnas no tendrán vencimiento.

Para hacer que los valores caduquen después de un período específico, usa el siguiente comando y reemplaza [TABLE_NAME] con el nombre de la tabla, [FAMILY_NAME] con el nombre de la familia de columnas y [DAYS] con la cantidad de días que desees conservar cada valor:

cbt setgcpolicy [TABLE_NAME] [FAMILY_NAME] maxage=[DAYS]d

Por ejemplo, para hacer que los valores de la familia de columnas cf1 se quiten después de un día:

cbt setgcpolicy my-table cf1 maxage=1d

Borra una tabla

Para borrar una tabla, usa el siguiente comando y reemplaza [TABLE_NAME] con el nombre de la tabla:

cbt deletetable [TABLE_NAME]
¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Cloud Bigtable