Esta página descreve como usar o Cloud Storage FUSE com o Dataflow para processar conjuntos de dados para tarefas de aprendizagem automática (AA).
Quando trabalha com tarefas de ML, pode usar o Dataflow para processar grandes conjuntos de dados. No entanto, algumas bibliotecas de software comuns usadas para ML, como o OpenCV, têm requisitos de ficheiros de entrada. Frequentemente, requerem que os ficheiros sejam acedidos como se estivessem armazenados no disco rígido de um computador local, em vez de no armazenamento baseado na nuvem. Este requisito cria dificuldades e atrasos. Como solução, os pipelines podem usar conectores de E/S especiais para entrada ou transferir ficheiros para as máquinas virtuais (VMs) do Dataflow antes do processamento. Estas soluções são frequentemente ineficientes.
O Cloud Storage FUSE oferece uma forma de evitar estas soluções ineficientes. O Cloud Storage FUSE permite-lhe montar os seus contentores do Cloud Storage nas VMs do Dataflow. Isto faz com que os ficheiros no Cloud Storage apareçam como se fossem ficheiros locais. Como resultado, o software de ML pode aceder diretamente a eles sem ter de os transferir previamente.
Vantagens
A utilização do Cloud Storage FUSE para tarefas de ML oferece as seguintes vantagens:
- Os ficheiros de entrada alojados no Cloud Storage podem ser acedidos na VM do Dataflow através da semântica do sistema de ficheiros local.
- Uma vez que os dados são acedidos a pedido, não é necessário transferir previamente os ficheiros de entrada.
Apoio técnico e limitações
- Para usar o Cloud Storage FUSE com o Dataflow, tem de configurar VMs de trabalho com endereços IP externos para que cumpram os requisitos de acesso à Internet.
Especifique os contentores a usar com o FUSE do Cloud Storage
Para especificar um contentor do Cloud Storage a montar numa VM, use o sinalizador --experiments
. Para especificar vários contentores, use um delimitador de ponto e vírgula (;
) entre os nomes dos contentores.
O formato é o seguinte:
--experiments="gcsfuse_buckets=CONFIG"
Substitua o seguinte:
CONFIG
: uma lista delimitada por ponto e vírgula de entradas do Cloud Storage, em que cada entrada é uma das seguintes:BUCKET_NAME
: um nome de contentor do Cloud Storage. Por exemplo,dataflow-samples
. Se omitir o modo do contentor, o contentor é tratado como só de leitura.BUCKET_NAME:MODE
: um nome de contentor do Cloud Storage e o respetivo modo associado, em queMODE
éro
(só de leitura) ourw
(leitura/escrita).Por exemplo:
--experiments="gcsfuse_buckets=read-bucket1;read-bucket2:ro;write-bucket1:rw"
Neste exemplo, a especificação do modo garante o seguinte:
- O volume
gs://read-bucket1
está montado no modo de leitura. - O volume
gs://read-bucket2
está montado no modo de leitura. gs://write-bucket1
está montado no modo de leitura/escrita.
- O volume
O código do pipeline do Beam pode aceder a estes contentores em
/var/opt/google/gcs/BUCKET_NAME
.