Neste artigo, você aprenderá a importar dados para a plataforma do 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 é semelhante a um indicador do navegador da Web (favoritos). Você não precisa se lembrar de caminhos de armazenamento longos (URIs) que apontam para os dados usados com mais frequência. Em vez disso, crie um ativo de dados e acesse 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 a 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 têm controle de versão para dar suporte à reprodutibilidade. Isso fornece recursos de controle de versão para os dados importados de fontes do SQL Server. Além disso, os dados armazenados em cache fornecem a linhagem de dados para tarefas de auditoria. Uma importação de dados usa a 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 computação do ADF envolvem apenas o tempo usado para transferências de dados. Os custos de armazenamento envolvem apenas o tempo necessário para armazenar os dados em cache, pois os dados armazenados em cache são uma cópia dos dados importados de uma fonte externa. O armazenamento do Azure hospeda essa origem externa.
O recurso de cache envolve custos iniciais de computação e armazenamento. No entanto, ele se paga e pode economizar dinheiro, pois 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 em cache dados como arquivos parquet, o que torna o treinamento de trabalho mais rápido e confiável em relação aos tempos limite de conexão para conjuntos de dados maiores. Isso leva a menos repetições e menos falhas de treinamento.
Você pode importar dados do Amazon S3, do SQL do Azure e do Snowflake.
Importante
Esse recurso está atualmente em visualização pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos.
Para que a importação de dados seja bem-sucedida, verifique se você instalou o pacote azure-ai-ml mais recente (versão 1.15.0 ou posterior) para o 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 da CLI, remova a antiga e instale a nova com o código mostrado na seção da guia. Siga as instruções para o SDK e a 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
Observação
Os bancos de dados externos podem ter formatos Snowflake, SQL do Azure, etc.
Os exemplos de código a seguir podem importar dados de bancos de dados externos. O connection que manipula a ação de importação determina os metadados da fonte de dados do banco de dados externo. Nesse exemplo, o código importa dados de um recurso do Snowflake. A conexão aponta para uma fonte do Snowflake. 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 importado type de uma fonte de dados externa é mltable.
O exemplo visto aqui descreve o processo de um banco de dados do Snowflake. No entanto, esse processo abrange outros formatos de bancos de dados externos, como o SQL do Azure, etc.
Em Ativos no menu de 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 Snowflake e depois selecione Avançar, conforme mostrado nesta captura de tela:
Na tela Tipo de Dados, preencha os valores. O valor do Tipo tem como padrão a Tabela (mltable). Em seguida, selecione Avançar, como mostrado nesta captura de tela:
Na tela Criar importação de dados, preencha os valores e selecione Avançar, como mostra esta captura de tela:
Preencha os valores na tela Escolher um armazenamento de dados para saída e selecione Avançar, como mostrado nesta captura de tela. O armazenamento de dados gerenciado do 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 do espaço de trabalho, o menu suspenso Excluir automaticamente será exibido. 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.
Observação
Para escolher seu próprio repositório de dados, selecione Outros repositórios de dados. Nesse caso, você deve selecionar o caminho do local do cache de dados.
Você pode adicionar um agendamento. Selecione Adicionar agendamento como mostrado nesta captura de tela:
Um novo painel é aberto, no qual você pode definir um agendamento Recorrente ou um agendamento de Cron. Esta captura de tela mostra o painel de um agendamento Recorrente:
Nome: o identificador exclusivo do agendamento dentro do workspace.
Descrição: a descrição do agendamento.
Gatilho: o padrão de recorrência do agendamento, que inclui as seguintes propriedades.
Fuso horário: o cálculo do tempo de disparo é 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 agendamento ficará ativo pela primeira vez nessa data. Por padrão, a data da criação desse agendamento.
Final: o agendamento ficará inativo após essa data. Por padrão, é NENHUM, o que significa que o agendamento estará sempre ativo até que você o desabilite manualmente.
Marcas: as marcas de agendamento selecionadas.
Observação
Início especifica a data e a hora de início com o fuso horário do agendamento. Se o início estiver omitido, a hora de início será a mesma da hora de criação do agendamento. 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. Revise suas escolhas e selecione Criar. Nessa tela e nas demais telas desse processo, selecione Voltar para acessar as telas anteriores e alterar suas opções de valores.
Essa captura de tela mostra o painel de um agendamento Cron:
Nome: o identificador exclusivo do agendamento dentro do workspace.
Descrição: a descrição do agendamento.
Gatilho: o padrão de recorrência do agendamento, que inclui as seguintes propriedades.
Fuso horário: o cálculo do tempo de disparo é baseado neste fuso horário; (UTC) Tempo Universal Coordenado por padrão.
Recorrência ou Expressão Cron: selecione expressão cron para especificar o padrão recorrente.
(Obrigatório)expression usa uma expressão crontab padrão para expressar um agendamento 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. Um *, em dias, significa todos os dias de um mês (que varia de acordo com o mês e o ano).
O expression: "15 16 * * 1" no exemplo acima significa as 16:15PM em todas as segundas-feiras.
A tabela a seguir lista os valores válidos para cada campo:
Campo
Intervalo
Comentário
MINUTES
0-59
-
HOURS
0-23
-
DAYS
-
Não há suporte. O valor é ignorado e tratado como *.
MONTHS
-
Não há suporte. O valor é ignorado e tratado como *.
DAYS-OF-WEEK
0 a 6
Zero (0) significa domingo. Nomes de dias também aceitos.
DAYS e MONTH não tem suporte. Se você passar um desses valores, ele será ignorado e tratado como *.
Início: o agendamento ficará ativo pela primeira vez nessa data. Por padrão, a data da criação desse agendamento.
Final: o agendamento ficará inativo após essa data. Por padrão, é NENHUM, o que significa que o agendamento estará sempre ativo até que você o desabilite manualmente.
Marcas: as marcas de agendamento selecionadas.
Observação
Início especifica a data e a hora de início com o fuso horário do agendamento. Se o início estiver omitido, a hora de início será a mesma da hora de criação do agendamento. 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. Revise suas escolhas e selecione Criar. Nessa tela e nas demais telas desse processo, selecione Voltar para acessar as telas anteriores e alterar suas opções de valores.
Importar dados de um sistema de arquivos externo como um ativo de dados de pasta
Observação
Um recurso de dados do Amazon S3 pode servir como um recurso de sistema do arquivos externo.
O connection que manipula a ação de importação de dados determina os aspectos da fonte de dados externa. A conexão define um bucket do Amazon S3 como o destino. A conexão espera um valor path válido. Um valor de ativo importado de uma origem do sistema de arquivos externo tem um type de uri_folder.
O próximo exemplo de código importa dados de um recurso do Amazon S3.
Em Ativos no menu de 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, como mostrado nesta captura de tela:
Na tela Tipo de Dados, preencha os valores. O valor do Tipo tem como padrão a Pasta (uri_folder). Em seguida, selecione Avançar, como mostrado nesta captura de tela:
Na tela Criar importação de dados, preencha os valores e selecione Avançar, como mostra esta captura de tela:
Preencha os valores na tela Escolher um armazenamento de dados para saída e selecione Avançar, como mostrado nesta captura de tela. O armazenamento de dados gerenciado do 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 do espaço de trabalho, o menu suspenso Excluir automaticamente será exibido. 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 um agendamento. Selecione Adicionar agendamento como mostrado nesta captura de tela:
Um novo painel é aberto, no qual você pode definir um agendamento Recorrente ou um agendamento de Cron. Esta captura de tela mostra o painel de um agendamento Recorrente:
Nome: o identificador exclusivo do agendamento dentro do workspace.
Descrição: a descrição do agendamento.
Gatilho: o padrão de recorrência do agendamento, que inclui as seguintes propriedades.
Fuso horário: o cálculo do tempo de disparo é 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 agendamento ficará ativo pela primeira vez nessa data. Por padrão, a data da criação desse agendamento.
Final: o agendamento ficará inativo após essa data. Por padrão, é NENHUM, o que significa que o agendamento estará sempre ativo até que você o desabilite manualmente.
Marcas: as marcas de agendamento selecionadas.
Observação
Início especifica a data e a hora de início com o fuso horário do agendamento. Se o início estiver omitido, a hora de início será a mesma da hora de criação do agendamento. Para uma hora de início no passado, o primeiro trabalho é executado no próximo tempo de execução calculado.
Conforme mostrado na próxima captura de tela, revise suas escolhas na última tela desse processo e selecione Criar. Nessa tela e nas demais telas desse processo, selecione Voltar para acessar as telas anteriores, caso queira alterar suas opções de valores.
A próxima captura de tela mostra a última tela desse processo. Revise suas escolhas e selecione Criar. Nessa tela e nas demais telas desse processo, selecione Voltar para acessar as telas anteriores e alterar suas opções de valores.
Essa captura de tela mostra o painel de um agendamento Cron:
Nome: o identificador exclusivo do agendamento dentro do workspace.
Descrição: a descrição do agendamento.
Gatilho: o padrão de recorrência do agendamento, que inclui as seguintes propriedades.
Fuso horário: o cálculo do tempo de disparo é baseado neste fuso horário; (UTC) Tempo Universal Coordenado por padrão.
Recorrência ou Expressão Cron: selecione expressão cron para especificar o padrão recorrente.
(Obrigatório)expression usa uma expressão crontab padrão para expressar um agendamento 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. Um *, em dias, significa todos os dias de um mês (que varia de acordo com o mês e o ano).
O expression: "15 16 * * 1" no exemplo acima significa as 16:15PM em todas as segundas-feiras.
A tabela a seguir lista os valores válidos para cada campo:
Campo
Intervalo
Comentário
MINUTES
0-59
-
HOURS
0-23
-
DAYS
-
Não há suporte. O valor é ignorado e tratado como *.
MONTHS
-
Não há suporte. O valor é ignorado e tratado como *.
DAYS-OF-WEEK
0 a 6
Zero (0) significa domingo. Nomes de dias também aceitos.
DAYS e MONTH não tem suporte. Se você passar um desses valores, ele será ignorado e tratado como *.
Início: o agendamento ficará ativo pela primeira vez nessa data. Por padrão, a data da criação desse agendamento.
Final: o agendamento ficará inativo após essa data. Por padrão, é NENHUM, o que significa que o agendamento estará sempre ativo até que você o desabilite manualmente.
Marcas: as marcas de agendamento selecionadas.
Observação
Início especifica a data e a hora de início com o fuso horário do agendamento. Se o início estiver omitido, a hora de início será a mesma da hora de criação do agendamento. 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. Revise suas escolhas e selecione Criar. Nessa tela e nas demais telas desse processo, selecione Voltar para acessar as telas anteriores e alterar suas opções 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 levar muito tempo. Após o envio de uma ação de importação de dados por meio da CLI ou do SDK, o Serviço do 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 lidaria com 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 a entrada para determinar o status da materialização de dados.