Crea una tabla habilitada para el flujo de cambios y captura los cambios
Los flujos de cambios de Bigtable te permiten capturar y procesar modificaciones de datos en tiempo real para flujos de trabajo basados en eventos y análisis posteriores. En este inicio rápido, habilitarás los flujos de cambios en una tabla, ejecutarás una canalización de procesamiento y observarás las actualizaciones de datos transmitidos.
Antes de comenzar
-
En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud .
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crea un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos (
roles/resourcemanager.projectCreator), que contiene el permisoresourcemanager.projects.create. Obtén más información para otorgar roles.
-
Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .
Habilita las APIs de Dataflow, Cloud Bigtable y Cloud Bigtable Admin si alguna de ellas aún no está habilitada.
Roles necesarios para habilitar las APIs
Para habilitar APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.-
En la consola de Google Cloud , activa Cloud Shell.
Crea una tabla con un flujo de cambios habilitado
En la consola de Google Cloud , ve a la página Instancias de Bigtable.
Haz clic en el ID de la instancia que usas para esta guía de inicio rápido.
Si no tienes una instancia disponible, crea una con las configuraciones predeterminadas en una región cercana.
En el panel de navegación izquierdo, haz clic en Tablas.
Haz clic en Crea una tabla.
Asigna el nombre
change-streams-quickstarta la tabla.Agrega una familia de columnas llamada
cf.Selecciona Habilitar el flujo de cambios.
Haz clic en Crear.
Inicializa una canalización de datos para capturar el flujo de cambios
En Cloud Shell, ejecuta los siguientes comandos para descargar el código y ejecutarlo.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git cd java-docs-samples/bigtable/beam/change-streams mvn compile exec:java -Dexec.mainClass=ChangeStreamsHelloWorld \ "-Dexec.args=--project=PROJECT_ID --bigtableProjectId=PROJECT_ID \ --bigtableInstanceId=BIGTABLE_INSTANCE_ID --bigtableTableId=change-streams-quickstart \ --runner=dataflow --region=BIGTABLE_REGION --experiments=use_runner_v2"Reemplaza lo siguiente:
- PROJECT_ID: Es el ID del proyecto que usas.
- BIGTABLE_INSTANCE_ID: Es el ID de la instancia que contendrá la tabla nueva.
- BIGTABLE_REGION: la región en la que se encuentra tu instancia de Bigtable, como
us-east5
En la consola de Google Cloud , ve a la página Dataflow.
Haz clic en el trabajo con un nombre que comience con changestreamquickstart.
En la parte inferior de la pantalla, haz clic en Mostrar para abrir el panel de registros.
Haz clic en Registros de trabajadores para supervisar el resultado del flujo de cambios.
En Cloud Shell, escribe algunos datos en Bigtable para ver el proceso del flujo de cambios.
cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \ import change-streams-quickstart quickstart-data.csv column-family=cfEn la consola de Google Cloud , asegúrate de que Gravedad esté configurada en, al menos,
Info.Los registros de salida del registro de trabajador contienen lo siguiente:
Change captured: user123#2023,USER,SetCell,cf,col1,abc Change captured: user546#2023,USER,SetCell,cf,col1,def Change captured: user789#2023,USER,SetCell,cf,col1,ghi
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
Inhabilita el flujo de cambios en la tabla
gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \ --clear-change-stream-retention-periodBorra la tabla
change-streams-quickstart:cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstartDetén la canalización de flujos de cambios:
En la consola de Google Cloud , ve a la página Trabajos de Dataflow.
Selecciona tu trabajo de transmisión en la lista de trabajos.
En la navegación, haz clic en Detener.
En el cuadro de diálogo Detener trabajo, cancela tu canalización y, luego, haz clic en Detener trabajo.
Opcional: Borra la instancia si creaste una nueva para esta guía de inicio rápido:
cbt deleteinstance BIGTABLE_INSTANCE_ID