Mover dados para o armazenamento de Blob do Azure
Se o seu fluxo de trabalho incluir a movimentação de dados para o armazenamento de Blob do Azure, certifique-se de que está a utilizar uma estratégia eficiente. Você deve criar o cache, adicionar o contêiner de blob como um destino de armazenamento e copiar seus dados usando o Cache HPC do Azure.
Este artigo explica as melhores maneiras de mover dados para o armazenamento de blob para uso com o Cache HPC do Azure.
Gorjeta
Este artigo não se aplica ao armazenamento de blob montado em NFS (destinos de armazenamento ADLS-NFS). Você pode usar qualquer método baseado em NFS para preencher um contêiner de blob ADLS-NFS antes ou depois de adicioná-lo ao cache HPC. Leia Pré-carregar dados com o protocolo NFS para saber mais.
Tenha estes factos em mente:
O Cache HPC do Azure usa um formato de armazenamento especializado para organizar dados no armazenamento de blobs. É por isso que um destino de armazenamento de blob deve ser um contêiner novo e vazio ou um contêiner de blob que foi usado anteriormente para dados do Cache HPC do Azure.
Copiar dados através do Cache HPC do Azure para um destino de armazenamento back-end é mais eficiente quando você usa vários clientes e operações paralelas. Um comando de cópia simples de um cliente moverá os dados lentamente.
As estratégias descritas neste artigo funcionam para preencher um contêiner de blob vazio ou para adicionar arquivos a um destino de armazenamento usado anteriormente.
Copiar dados através da Cache HPC do Azure
O Cache HPC do Azure foi projetado para atender vários clientes simultaneamente, portanto, para copiar dados por meio do cache, você deve usar gravações paralelas de vários clientes.
Os cp
comandos ou copy
que você normalmente usa para transferir dados de um sistema de armazenamento para outro são processos de thread único que copiam apenas um arquivo de cada vez. Isso significa que o servidor de arquivos está ingerindo apenas um arquivo de cada vez - o que é um desperdício dos recursos do cache.
Esta seção explica estratégias para criar um sistema de cópia de arquivos multicliente e multithreaded para mover dados para o armazenamento de blob com o Cache HPC do Azure. Ele explica conceitos de transferência de arquivos e pontos de decisão que podem ser usados para cópia eficiente de dados usando vários clientes e comandos de cópia simples.
Ele também explica alguns utilitários que podem ajudar. O msrsync
utilitário pode ser usado para automatizar parcialmente o processo de divisão de um conjunto de dados em buckets e usando comandos rsync. O parallelcp
script é outro utilitário que lê o diretório de origem e emite comandos de cópia automaticamente.
Planeamento estratégico
Ao criar uma estratégia para copiar dados em paralelo, você deve entender as compensações em tamanho de arquivo, contagem de arquivos e profundidade de diretório.
- Quando os arquivos são pequenos, a métrica de interesse são os arquivos por segundo.
- Quando os ficheiros são grandes (10MiBi ou superior), a métrica de interesse é de bytes por segundo.
Cada processo de cópia tem uma taxa de transferência e uma taxa de transferência de arquivos, que pode ser medida temporizando o comprimento do comando copy e fatorando o tamanho do arquivo e a contagem de arquivos. Explicar como medir as taxas está fora do escopo deste documento, mas é imperativo entender se você estará lidando com arquivos pequenos ou grandes.
As estratégias para ingestão de dados paralelos com o Cache HPC do Azure incluem:
Cópia manual - Você pode criar manualmente uma cópia multi-threaded em um cliente executando mais de um comando copy ao mesmo tempo em segundo plano em relação a conjuntos predefinidos de arquivos ou caminhos. Leia Ingestão de dados do Cache HPC do Azure - método de cópia manual para obter detalhes.
A cópia parcialmente automatizada com
msrsync
-msrsync
é um utilitário wrapper que executa vários processos paralelos.rsync
Para obter detalhes, leia Ingestão de dados do Cache HPC do Azure - método msrsync.Cópia com script com
parallelcp
- Saiba como criar e executar um script de cópia paralela na ingestão de dados do Cache HPC do Azure - método de script de cópia paralela.
Próximos passos
Depois de configurar o armazenamento, saiba como os clientes podem montar o cache.