Path: blob/master/site/es-419/io/tutorials/bigtable.ipynb
25118 views
Copyright 2020 The TensorFlow Authors.
Título
Overview
En este cuaderno se representa el uso y las características básicos del módulo tensorflow_io.bigtable
. Asegúrese de estar familiarizado con estos temas antes de continuar:
Nota: Jupyter ejecuta líneas con !
por delante como comandos de shell e interpola variables de Python con $
por delante en estos comandos.
Preparación
Nota: Al ejecutar la siguiente celda, se le pedirá que inicie sesión en Google Cloud.
Para poder ejecutar este ejemplo, se usa el emulador bigtable. Si tiene su instancia de bigtable configurada y llena de valores, omita estos pasos y vaya directamente a la sección de Guía rápida.
Inicie el emulador en segundo plano.
Cree una tabla
Rellene la tabla con valores
Guía rápida
Primero necesita crear un cliente y una tabla desde donde le gustaría leer los datos.
¡Excelente! Ahora puede crear un conjunto de datos de TensorFlow que leerá los datos de nuestra tabla.
Para hacer eso, debe proporcionar el tipo de datos que desea leer, una lista de nombres de columnas en formato column_family:column_name
y un conjunto de filas que desea leer.
Para crear un conjunto de filas, use los métodos de utilidad proporcionados en los módulos tensorflow.bigtable.row_set
y tensorflow.bigtable.row_range
. Aquí se crea un row_set que contiene todas las filas creadas.
Tenga en cuenta que esa tabla grande lee los valores en orden lexicográfico, no en el orden en que fueron agregados. Las filas recibieron claves de fila aleatorias para que se aleatorizen.
¡Listo! ¡Felicitaciones!
Lectura paralela
Nuestro conjunto de datos admite la lectura en paralelo desde Bigtable. Para hacer eso, use el método parallel_read_rows
y especifique num_parallel_calls
como argumento. Cuando se llama a este método, el trabajo se divide primero entre los trabajadores según SampleRowKeys.
Nota: Tenga en cuenta que al leer en paralelo, las filas no se leerán en ningún orden en particular.
Lectura de row_keys específicas
Para leer los datos de Bigtable, puede especificar un conjunto de filas o un rango o una combinación de ellos.
El método read_rows
espera que usted proporcione un RowSet. Puede construir un RowSet a partir de claves de fila específicas o RowRanges de la siguiente manera:
tal row_set tendría un rango de filas [row000, row300)
y filas row585 y row832.
También puede crear un row_set a partir de un rango infinito, un rango vacío o un prefijo. También puede cruzarlo con un row_range.
Especificar una versión de un valor
Bigtable le permite mantener muchos valores en una celda con diferentes marcas de tiempo. Puede especificar qué versión desea elegir con los filtros de versión. Sin embargo, solo puede recuperar un vector bidimensional con el conector tensorflow.bigtable, por lo que el filtro latest
siempre se agrega al filtro de versión especificado por el usuario. Es decir, si más de un valor para una celda pasa por el filtro proporcionado, se usará el más nuevo.
Puede usar el filtro latest
que pasa el valor más reciente o puede especificar un rango de tiempo. El rango de tiempo se puede proporcionar como objetos de fecha y hora de Python o como un número que represente segundos o microsegundos a partir de la época.