Neste artigo, você aprenderá a importar dados para a plataforma Azure Machine Learning de fontes externas. Uma importação de dados bem-sucedida cria e registra automaticamente um ativo de dados do Azure Machine Learning com o nome fornecido durante essa importação. Um ativo de dados do Azure Machine Learning se assemelha a um marcador do navegador da Web (favoritos). Você não precisa se lembrar de URIs (caminhos de armazenamento longos) que apontam para os dados usados com mais frequência. Em vez disso, você pode criar um ativo de dados e, em seguida, acessar esse ativo com um nome amigável.
Uma importação de dados cria um cache dos dados de origem, juntamente com metadados, para acesso mais rápido e confiável aos dados em trabalhos de treinamento do Azure Machine Learning. O cache de dados evita restrições de rede e conexão. Os dados armazenados em cache são versionados para oferecer suporte à reprodutibilidade. Isso fornece recursos de controle de versão para dados importados de fontes do SQL Server. Além disso, os dados armazenados em cache fornecem linhagem de dados para tarefas de auditoria. Uma importação de dados usa o ADF (pipelines do Azure Data Factory) nos bastidores, o que significa que os usuários podem evitar interações complexas com o ADF. Nos bastidores, o Azure Machine Learning também lida com o gerenciamento do tamanho do pool de recursos de computação do ADF, provisionamento de recursos de computação e desmontagem, para otimizar a transferência de dados determinando a paralelização adequada.
Os dados transferidos são particionados e armazenados com segurança como arquivos parquet no armazenamento do Azure. Isso permite um processamento mais rápido durante o treinamento. Os custos de cálculo do ADF envolvem apenas o tempo utilizado para as transferências de dados. Os custos de armazenamento envolvem apenas o tempo necessário para armazenar os dados em cache, porque os dados armazenados em cache são uma cópia dos dados importados de uma fonte externa. O armazenamento do Azure hospeda essa fonte externa.
O recurso de cache envolve custos iniciais de computação e armazenamento. No entanto, ele se paga e pode economizar dinheiro, porque reduz os custos recorrentes de computação de treinamento, em comparação com conexões diretas com dados de origem externa durante o treinamento. Ele armazena dados em cache como arquivos de parquet, o que torna o treinamento de trabalho mais rápido e confiável contra tempos limite de conexão para conjuntos de dados maiores. Isso leva a menos reprises e menos falhas de treinamento.
Você pode importar dados do Amazon S3, Azure SQL e Snowflake.
Importante
Esta funcionalidade está atualmente em pré-visualização pública. Esta versão de pré-visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas.
Para uma importação de dados bem-sucedida, verifique se você instalou o pacote azure-ai-ml mais recente (versão 1.15.0 ou posterior) para SDK e a extensão ml (versão 2.15.1 ou posterior).
Se você tiver um pacote SDK mais antigo ou uma extensão CLI, remova o antigo e instale o novo com o código mostrado na seção da guia. Siga as instruções para SDK e CLI como mostrado aqui:
az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.15.1 or later)
pip install azure-ai-ml
pip show azure-ai-ml #(the version value needs to be 1.15.0 or later)
Não disponível.
Importar de um banco de dados externo como um ativo de dados mltable
Nota
Os bancos de dados externos podem ter formatos Snowflake, Azure SQL, etc.
Os exemplos de código a seguir podem importar dados de bancos de dados externos. A connection ação que manipula a importação determina os metadados da fonte de dados do banco de dados externo. Neste exemplo, o código importa dados de um recurso Snowflake. A conexão aponta para uma fonte de flocos de neve. Com uma pequena modificação, a conexão pode apontar para uma fonte de banco de dados SQL do Azure e uma fonte de banco de dados SQL do Azure. O ativo type importado de uma fonte de banco de dados externa é mltable.
O exemplo visto aqui descreve o processo para um banco de dados Snowflake. No entanto, esse processo abrange outros formatos de banco de dados externos, como o Azure SQL, etc.
Em Ativos na navegação à esquerda, selecione Dados. Em seguida, selecione a guia Importação de dados. Em seguida, selecione Criar, conforme mostrado nesta captura de tela:
Na tela Fonte de Dados, selecione Floco de Neve e, em seguida, selecione Avançar, conforme mostrado nesta captura de tela:
Na tela Tipo de Dados, preencha os valores. O valor Type assume como padrão Table (mltable). Em seguida, selecione Avançar, conforme mostrado nesta captura de tela:
Na tela Criar importação de dados, preencha os valores e selecione Avançar, conforme mostrado nesta captura de tela:
Preencha os valores na tela Escolha um armazenamento de dados para saída e selecione Avançar, conforme mostrado nesta captura de tela. O armazenamento de dados gerenciado pelo espaço de trabalho é selecionado por padrão, o caminho é atribuído automaticamente pelo sistema quando você escolhe o armazenamento de dados gerenciado. Se você selecionar Armazenamento de dados gerenciado pelo espaço de trabalho, a lista suspensa Configuração de exclusão automática será exibida. Ele oferece uma janela de tempo de exclusão de dados de 30 dias por padrão, e como gerenciar ativos de dados importados explica como alterar esse valor.
Nota
Para escolher seu próprio armazenamento de dados, selecione Outros armazenamentos de dados. Nesse caso, você deve selecionar o caminho para o local do cache de dados.
Você pode adicionar uma agenda. Selecione Adicionar agendamento conforme mostrado nesta captura de tela:
Um novo painel é aberto, onde você pode definir uma agenda de recorrência ou uma agenda Cron . Esta captura de tela mostra o painel de uma agenda de Recorrência :
Nome: o identificador exclusivo da agenda dentro do espaço de trabalho.
Descrição: a descrição do cronograma.
Gatilho: o padrão de recorrência da programação, que inclui as seguintes propriedades.
Fuso horário: o cálculo da hora do gatilho é baseado neste fuso horário; (UTC) Tempo Universal Coordenado por padrão.
Recorrência ou expressão Cron: selecione recorrência para especificar o padrão recorrente. Em Recorrência, você pode especificar a frequência de recorrência - por minutos, horas, dias, semanas ou meses.
Início: o horário fica ativo pela primeira vez nesta data. Por padrão, a data de criação dessa agenda.
Fim: o horário ficará inativo após esta data. Por padrão, é NONE, o que significa que a agenda estará sempre ativa até que você a desative manualmente.
Tags: as tags de programação selecionadas.
Nota
Start especifica a data e hora de início com o fuso horário da agenda. Se o início for omitido, a hora de início será igual à hora de criação da agenda. Para uma hora de início no passado, o primeiro trabalho é executado no próximo tempo de execução calculado.
A próxima captura de tela mostra a última tela desse processo. Reveja as suas opções e selecione Criar. Nesta tela, e nas outras telas desse processo, selecione Voltar para ir para telas anteriores para alterar suas escolhas de valores.
Esta captura de tela mostra o painel para uma programação Cron :
Nome: o identificador exclusivo da agenda dentro do espaço de trabalho.
Descrição: a descrição do cronograma.
Gatilho: o padrão de recorrência da programação, que inclui as seguintes propriedades.
Fuso horário: o cálculo da hora do gatilho é baseado neste fuso horário; (UTC) Tempo Universal Coordenado por padrão.
Recorrência ou expressão Cron: selecione a expressão cron para especificar os detalhes cron.
(Obrigatório)expression Usa uma expressão crontab padrão para expressar uma agenda recorrente. Uma única expressão é composta por cinco campos delimitados por espaço:
MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
Um único curinga (*), que abrange todos os valores do campo. A *, em dias, significa todos os dias de um mês (que varia com o mês e o ano).
O expression: "15 16 * * 1" na amostra acima significa as 16h15 de todas as segundas-feiras.
A tabela seguinte lista os valores válidos para cada campo:
Campo
Intervalo
Comentário
MINUTES
0-59
-
HOURS
0-23
-
DAYS
-
Não suportado. O valor é ignorado e tratado como *.
MONTHS
-
Não suportado. O valor é ignorado e tratado como *.
DAYS-OF-WEEK
0-6
Zero (0) significa domingo. Nomes de dias também aceitos.
DAYS e MONTH não são suportados. Se você passar um desses valores, ele será ignorado e tratado como *.
Início: o horário fica ativo pela primeira vez nesta data. Por padrão, a data de criação dessa agenda.
Fim: o horário ficará inativo após esta data. Por padrão, é NONE, o que significa que a agenda estará sempre ativa até que você a desative manualmente.
Tags: as tags de programação selecionadas.
Nota
Start especifica a data e hora de início com o fuso horário da agenda. Se o início for omitido, a hora de início será igual à hora de criação da agenda. Para uma hora de início no passado, o primeiro trabalho é executado no próximo tempo de execução calculado.
A próxima captura de tela mostra a última tela desse processo. Reveja as suas opções e selecione Criar. Nesta tela, e nas outras telas desse processo, selecione Voltar para ir para telas anteriores para alterar suas escolhas de valores.
Importar dados de um sistema de arquivos externo como um ativo de dados de pasta
Nota
Um recurso de dados do Amazon S3 pode servir como um recurso externo do sistema de arquivos.
A connection ação que manipula a importação de dados determina os aspetos da fonte de dados externa. A conexão define um bucket do Amazon S3 como destino. A conexão espera um valor válido path . Um valor de ativo importado de uma fonte de sistema de arquivos externa tem um type de uri_folder.
O próximo exemplo de código importa dados de um recurso do Amazon S3.
Em Ativos na navegação à esquerda, selecione Dados. Em seguida, selecione a guia Importação de dados. Em seguida, selecione Criar como mostrado nesta captura de tela:
Na tela Fonte de Dados, selecione S3 e, em seguida, selecione Avançar, conforme mostrado nesta captura de tela:
Na tela Tipo de Dados, preencha os valores. O valor Type assume como padrão Folder (uri_folder). Em seguida, selecione Avançar, conforme mostrado nesta captura de tela:
Na tela Criar importação de dados, preencha os valores e selecione Avançar, conforme mostrado nesta captura de tela:
Preencha os valores na tela Escolha um armazenamento de dados para saída e selecione Avançar, conforme mostrado nesta captura de tela. O armazenamento de dados gerenciado pelo espaço de trabalho é selecionado por padrão, o caminho é atribuído automaticamente pelo sistema quando você escolhe o armazenamento de dados gerenciado. Se você selecionar Armazenamento de dados gerenciado pelo espaço de trabalho, a lista suspensa Configuração de exclusão automática será exibida. Ele oferece uma janela de tempo de exclusão de dados de 30 dias por padrão, e como gerenciar ativos de dados importados explica como alterar esse valor.
Você pode adicionar uma agenda. Selecione Adicionar agendamento conforme mostrado nesta captura de tela:
Um novo painel é aberto, onde você pode definir um cronograma de recorrência ou um cronograma Cron . Esta captura de tela mostra o painel de uma agenda de Recorrência :
Nome: o identificador exclusivo da agenda dentro do espaço de trabalho.
Descrição: a descrição do cronograma.
Gatilho: o padrão de recorrência da programação, que inclui as seguintes propriedades.
Fuso horário: o cálculo da hora do gatilho é baseado neste fuso horário; (UTC) Tempo Universal Coordenado por padrão.
Recorrência ou expressão Cron: selecione recorrência para especificar o padrão recorrente. Em Recorrência, você pode especificar a frequência de recorrência - por minutos, horas, dias, semanas ou meses.
Início: o horário fica ativo pela primeira vez nesta data. Por padrão, a data de criação dessa agenda.
Fim: o horário ficará inativo após esta data. Por padrão, é NONE, o que significa que a agenda estará sempre ativa até que você a desative manualmente.
Tags: as tags de programação selecionadas.
Nota
Start especifica a data e hora de início com o fuso horário da agenda. Se o início for omitido, a hora de início será igual à hora de criação da agenda. Para uma hora de início no passado, o primeiro trabalho é executado no próximo tempo de execução calculado.
Conforme mostrado na captura de tela seguinte, revise suas escolhas na última tela desse processo e selecione Criar. Nesta tela, e nas outras telas desse processo, selecione Voltar para ir para telas anteriores se quiser alterar suas escolhas de valores.
A próxima captura de tela mostra a última tela desse processo. Reveja as suas opções e selecione Criar. Nesta tela, e nas outras telas desse processo, selecione Voltar para ir para telas anteriores para alterar suas escolhas de valores.
Esta captura de tela mostra o painel para uma programação Cron :
Nome: o identificador exclusivo da agenda dentro do espaço de trabalho.
Descrição: a descrição do cronograma.
Gatilho: o padrão de recorrência da programação, que inclui as seguintes propriedades.
Fuso horário: o cálculo da hora do gatilho é baseado neste fuso horário; (UTC) Tempo Universal Coordenado por padrão.
Recorrência ou expressão Cron: selecione a expressão cron para especificar os detalhes cron.
(Obrigatório)expression Usa uma expressão crontab padrão para expressar uma agenda recorrente. Uma única expressão é composta por cinco campos delimitados por espaço:
MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
Um único curinga (*), que abrange todos os valores do campo. A *, em dias, significa todos os dias de um mês (que varia com o mês e o ano).
O expression: "15 16 * * 1" na amostra acima significa as 16h15 de todas as segundas-feiras.
A tabela seguinte lista os valores válidos para cada campo:
Campo
Intervalo
Comentário
MINUTES
0-59
-
HOURS
0-23
-
DAYS
-
Não suportado. O valor é ignorado e tratado como *.
MONTHS
-
Não suportado. O valor é ignorado e tratado como *.
DAYS-OF-WEEK
0-6
Zero (0) significa domingo. Nomes de dias também aceitos.
DAYS e MONTH não são suportados. Se você passar um desses valores, ele será ignorado e tratado como *.
Início: o horário fica ativo pela primeira vez nesta data. Por padrão, a data de criação dessa agenda.
Fim: o horário ficará inativo após esta data. Por padrão, é NONE, o que significa que a agenda estará sempre ativa até que você a desative manualmente.
Tags: as tags de programação selecionadas.
Nota
Start especifica a data e hora de início com o fuso horário da agenda. Se o início for omitido, a hora de início será igual à hora de criação da agenda. Para uma hora de início no passado, o primeiro trabalho é executado no próximo tempo de execução calculado.
A próxima captura de tela mostra a última tela desse processo. Reveja as suas opções e selecione Criar. Nesta tela, e nas outras telas desse processo, selecione Voltar para ir para telas anteriores para alterar suas escolhas de valores.
Verificar o status de importação de fontes de dados externas
A ação de importação de dados é uma ação assíncrona. Pode demorar muito tempo. Após o envio de uma ação de importação de dados por meio da CLI ou SDK, o serviço Azure Machine Learning pode precisar de vários minutos para se conectar à fonte de dados externa. Em seguida, o serviço iniciaria a importação de dados e manipularia o cache e o registro de dados. O tempo necessário para uma importação de dados também depende do tamanho do conjunto de dados de origem.
O próximo exemplo retorna o status da atividade de importação de dados enviada. O comando ou método usa o nome "ativo de dados" como entrada para determinar o status da materialização dos dados.