En esta página, se describe cómo usar Cloud Storage FUSE con Dataflow para procesar conjuntos de datos para tareas de aprendizaje automático (AA).
Cuando trabajas con tareas de AA, Dataflow se puede usar para procesar grandes conjuntos de datos. Sin embargo, algunas bibliotecas de software comunes que se usan para el AA, como OpenCV, tienen requisitos de archivos de entrada. Con frecuencia, requieren que se acceda a los archivos como si estuvieran almacenados en el disco duro de una computadora local, en lugar de en el almacenamiento basado en la nube. Este requisito genera dificultades y demoras. Como solución, las canalizaciones pueden usar conectores de E/S especiales para la entrada o descargar archivos en las máquinas virtuales (VM) de Dataflow antes del procesamiento. Estas soluciones suelen ser ineficientes.
Cloud Storage FUSE proporciona una forma de evitar estas soluciones ineficientes. Cloud Storage FUSE te permite activar tus buckets de Cloud Storage en las VMs de Dataflow. Esto hace que los archivos en Cloud Storage aparezcan como si fueran archivos locales. Como resultado, el software de AA puede acceder a ellos directamente sin necesidad de descargarlos de antemano.
Beneficios
Usar Cloud Storage FUSE para tareas de AA ofrece los siguientes beneficios:
- Se puede acceder a los archivos de entrada alojados en Cloud Storage en la VM de Dataflow con la semántica del sistema de archivos local.
- Dado que se accede a los datos a pedido, no es necesario descargar los archivos de entrada de antemano.
Asistencia y limitaciones
- Para usar Cloud Storage FUSE con Dataflow, debes configurar las VMs de trabajador con direcciones IP externas para que cumplan con los requisitos de acceso a Internet.
Especifica los buckets que se usarán con Cloud Storage FUSE
Para especificar un bucket de Cloud Storage que se activará en una VM, usa la marca --experiments
. Para especificar varios buckets, usa un punto y coma (;
) como delimitador entre los nombres de bucket.
El formato es el siguiente:
--experiments="gcsfuse_buckets=CONFIG"
Reemplaza lo siguiente:
CONFIG
: Es una lista delimitada por punto y coma de entradas de Cloud Storage, en la que cada entrada es una de las siguientes:BUCKET_NAME
: Es el nombre de un bucket de Cloud Storage. Por ejemplo,dataflow-samples
Si omites el modo del bucket, se tratará como de solo lectura.BUCKET_NAME:MODE
: Es el nombre de un bucket de Cloud Storage y su modo asociado, en el queMODE
esro
(solo lectura) orw
(lectura y escritura).Por ejemplo:
--experiments="gcsfuse_buckets=read-bucket1;read-bucket2:ro;write-bucket1:rw"
En este ejemplo, especificar el modo garantiza lo siguiente:
gs://read-bucket1
se activó en modo de solo lectura.gs://read-bucket2
se activó en modo de solo lectura.gs://write-bucket1
está activado en modo de lectura y escritura.
El código de la canalización de Beam puede acceder a estos buckets en
/var/opt/google/gcs/BUCKET_NAME
.