Crea y administra vistas materializadas continuas
En este documento, se describe cómo crear y realizar operaciones en una vista materializada continua en Bigtable. Antes de leer este documento, consulta la descripción general en Vistas materializadas continuas.
Puedes crear una vista materializada continua con Google Cloud CLI, el editor de consultas de Bigtable Studio en la consola de Google Cloud o las bibliotecas cliente de Bigtable para Java y Go.
Antes de comenzar
Si planeas usar gcloud CLI, sigue estos pasos:
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
Si la gcloud CLI devuelve un mensaje Method not found, vuelve a ejecutar el comando gcloud auth login.
Roles obligatorios
Para obtener los permisos que necesitas para crear y administrar vistas materializadas continuas, pídele a tu administrador que te otorgue el rol de administrador de Bigtable (roles/bigtable.admin) en la instancia.
De lo contrario, solicita los siguientes permisos a nivel de la instancia, según la operación que desees realizar:
- Crear:
bigtable.materializedViews.create - Actualización:
bigtable.materializedViews.update - Borrar:
bigtable.materializedViews.delete - Lista:
bigtable.materializedViews.list
Para crear una vista materializada continua, también debes tener al menos el permiso bigtable.tables.readRows en la tabla de origen.
Para ver todos los roles y permisos disponibles, consulta Control de acceso de Bigtable con IAM.
Crea una vista materializada continua
Antes de crear una vista materializada continua, haz lo siguiente:
- Opcional: Como práctica recomendada, habilita el escalado automático para los clústeres de tu instancia y asegúrate de que puedan escalar verticalmente si es necesario mientras Bigtable procesa y sincroniza la vista materializada continua, y para controlar cualquier uso de almacenamiento adicional.
- Opcional: Decide si deseas que tu vista materializada continua esté disponible en todos los clústeres o si deseas aislar su procesamiento y disponibilidad de consultas en un solo clúster. Para obtener más información, consulta Funciones SQL no determinísticas.
- Identifica una tabla de Bigtable que tengas permiso para leer y úsala como fuente para la vista materializada continua.
Prepara la consulta en SQL que define tu vista materializada continua. Para conocer los requisitos de las consultas, consulta Consultas de vistas materializadas continuas.
Console
En la consola de Google Cloud , abre la lista de instancias de Bigtable.
Selecciona una instancia.
En el panel de navegación, haz clic en Bigtable Studio.
Haz clic en y, luego, elige Editor para abrir una pestaña nueva.
Escribe tu consulta cuando aparezca el editor de consultas. Si la consulta es SQL válida, se muestra el mensaje Válida.
Opcional: Para darle formato a tu instrucción en estilo SQL, haz clic en Formato.
Haz clic en Ejecutar. Los resultados de tu consulta aparecen en la tabla Resultados.
Cuando estés conforme con la consulta, haz clic en la flecha del desplegable Guardar como y elige Guardar como vista materializada.
En el cuadro de diálogo Guarda tu vista materializada, ingresa un nombre para la vista y, luego, haz clic en Guardar.
Para obtener más información sobre cómo usar el editor de consultas, consulta Administra tus datos con Bigtable Studio.
gcloud
Para crear una vista materializada continua, usa el comando gcloud bigtable materialized-views create:
gcloud bigtable materialized-views create VIEW \
--instance=INSTANCE --query=QUERY
Reemplaza lo siguiente:
VIEW: Es un identificador único para la vista materializada continua. Usas este ID como el ID de la tabla cuando consultas la vista materializada continua.INSTANCE: Es el identificador de la instancia en la que se creará la vista materializada continua. Debe ser la misma instancia que la tabla de origen.QUERY: Es una instrucción de SQL válida que define la vista materializada continua.
Opcional: Habilita la protección contra eliminaciones
Para habilitar la protección contra eliminaciones en la vista materializada continua, agrega --deletion-protection=DELETION_PROTECTION al comando.
Reemplaza DELETION_PROTECTION por true o false.
Opcional: Crea una vista aislada para un solo clúster
De forma predeterminada, Bigtable replica una vista materializada continua en todos los clústeres de una instancia. Para mantener una vista solo en un clúster específico, define tu vista con CLUSTER_ATTRIBUTE y pasa la marca --ignore-warnings:
gcloud bigtable materialized-views create VIEW \
--instance=INSTANCE \
--query="SELECT ... WHERE CLUSTER_ATTRIBUTE('cluster_id') = 'CLUSTER_ID'" \
--ignore-warnings
Reemplaza lo siguiente:
VIEW: Es un identificador único para la vista materializada continua. Usas este ID como el ID de la tabla cuando consultas la vista materializada continua.INSTANCE: Es el identificador de la instancia en la que se creará la vista materializada continua. Debe ser la misma instancia que la tabla de origen.CLUSTER_ID: Es el identificador del clúster en el que deseas mantener la vista.
Dado que CLUSTER_ATTRIBUTE produce resultados diferentes en los distintos clústeres, debes incluir la marca --ignore-warnings para confirmar las diferencias.
Para obtener más información sobre la sintaxis y los requisitos de las consultas, consulta Cómo aislar una vista en un solo clúster.
Consulta una vista materializada continua
Después de que una vista materializada continua esté activa, puedes consultarla como cualquier otra tabla con Bigtable Studio en la consola de Google Cloud o con las bibliotecas cliente compatibles. Para obtener más información sobre la sintaxis y los requisitos de las consultas, consulta Consultas de vistas materializadas continuas.
Para probar y consultar una vista antes de que se complete la propagación inicial, usa la sugerencia de consulta @{allow_incomplete_view=true}. Para obtener más información, consulta Cómo leer datos durante la población inicial.
Actualiza una vista materializada continua
Puedes actualizar la protección contra eliminaciones de una vista materializada continua. No puedes actualizar la consulta en SQL que define una vista materializada continua. Si necesitas modificar la consulta, debes borrar la vista materializada continua y, luego, crear una nueva que incluya tus cambios.
Console
No puedes actualizar una vista materializada continua en la consola. En su lugar, usa gcloud CLI.
gcloud
Para habilitar o inhabilitar la protección contra eliminación de una vista materializada continua, usa el comando gcloud bigtable materialized-views update.
gcloud bigtable materialized-views update VIEW \
--instance=INSTANCE --deletion-protection=DELETION_PROTECTION
Reemplaza lo siguiente:
VIEW: Es el identificador único de la vista materializada continua que deseas actualizar.INSTANCE: Es el identificador de la instancia que contiene la vista materializada continua.DELETION_PROTECTION:trueofalse
Borra una vista materializada continua
Puedes borrar una vista materializada continua que no tenga habilitada la protección contra eliminación. No puedes deshacer esta operación.
Console
En la consola de Google Cloud , abre la lista de instancias de Bigtable.
Elige una instancia de la lista.
En el panel de navegación, haz clic en Bigtable Studio.
Expande Vistas materializadas.
Junto a la vista que deseas borrar, haz clic en el menú de acciones more_vert y, luego, en Borrar.
gcloud
Para borrar una vista materializada continua, usa el comando gcloud bigtable materialized-views delete:
gcloud bigtable materialized-views delete VIEW \
--instance=INSTANCE
Reemplaza lo siguiente:
VIEW: Es el identificador único de la vista materializada continua que deseas borrar.INSTANCE: Es el identificador de la instancia que contiene la vista materializada continua.
Obtén una lista de vistas materializadas continuas
Puedes ver una lista de las vistas materializadas continuas de una instancia.
Console
En la consola de Google Cloud , abre la lista de instancias de Bigtable.
Elige una instancia de la lista.
En el panel de navegación, haz clic en Bigtable Studio. Se muestra una lista de las vistas materializadas continuas.
Opcional: Se muestran las primeras 10 vistas de la instancia. Para ver 10 más, haz clic en Mostrar más.
gcloud
Para enumerar todas las vistas materializadas continuas de una instancia, usa el comando gcloud bigtable materialized-views list.
gcloud bigtable materialized-views list --instance=INSTANCE
Reemplaza INSTANCE por el ID de la instancia.