Importação de Azure Blob Armazenamento

Importante

O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.

A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).

A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.

Este tópico descreve como usar o módulo de Dados de Importação em Machine Learning Studio (clássico), para ler dados de Azure Blob Armazenamento, para que possa usar os dados numa experiência de machine learning.

Nota

Aplica-se a: Machine Learning Studio (clássico) apenas

Módulos semelhantes de arrasto e queda estão disponíveis em Azure Machine Learning designer.

O Serviço Azure Blob destina-se a armazenar grandes quantidades de dados, incluindo dados binários. As bolhas Azure podem ser acedidas a partir de qualquer lugar, utilizando HTTP ou HTTPS. A autenticação pode ser necessária dependendo do tipo de armazenamento de bolhas.

  • As bolhas públicas podem ser acedidas por qualquer pessoa, ou por utilizadores que tenham um URL SAS.
  • As bolhas privadas requerem um login e credenciais.

A importação do armazenamento de bolhas requer que os dados sejam armazenados em bolhas que usam o formato blob de bloco . Os ficheiros armazenados na bolha devem utilizar os formatos separados por vírgula (CSV) ou separados por separados por separados. Quando lê o ficheiro, os registos e quaisquer títulos de atributos aplicáveis são carregados como linhas na memória como conjunto de dados.

Nota

O módulo de dados de importação não suporta a ligação à conta Azure Blob Armazenamento se estiver ativada a opção "Transferência Segura Necessária".

Para outras restrições aos tipos de armazenamento de bolhas suportados para utilização com Machine Learning, consulte a secção de notas técnicas.

Dica

Precisa importar dados num formato que não seja suportado? Pode usar Python ou R. Consulte esta amostra na Galeria Azure AI: Carregue o ficheiro não-texto da Azure Blob Armazenamento

Como importar dados de bolhas Azure

Recomendamos vivamente que perfile os seus dados antes de importar, para garantir que o esquema é o esperado. O processo de importação digitaliza alguns números de linhas de cabeça para determinar o esquema, mas linhas posteriores podem conter colunas extras, ou dados que causam erros.

Utilize o assistente de importação de dados

O módulo apresenta um novo assistente para o ajudar a escolher uma opção de armazenamento, selecionar entre as subscrições e contas existentes e configurar rapidamente todas as opções.

  1. Adicione o módulo de Dados de Importação à sua experiência. Pode encontrar o módulo em Estúdio (clássico), na categoria Entrada e Saída de Dados .

  2. Clique em Lançar Assistente de Dados de Importação e siga as instruções.

  3. Quando a configuração estiver concluída, para copiar os dados na sua experiência, clique com o botão direito no módulo e selecione Executar Selecionado.

Se necessitar de editar uma ligação de dados existente, o assistente carrega todos os detalhes de configuração anteriores para que não tenha de recomeçar do zero.

Definir manualmente propriedades no módulo de dados de importação

Os seguintes passos descrevem como configurar manualmente a fonte de importação.

  1. Adicione o módulo de Dados de Importação à sua experiência. Pode encontrar este módulo em Studio (clássico), na categoria Entrada e Saída de Dados .

  2. Para obter informações, selecione Azure Blob Armazenamento.

  3. Para o tipo de autenticação, escolha Público (URL SAS) se souber que a informação foi fornecida como fonte de dados públicos. Um URL SAS é um URL com limite de tempo para acesso público que pode gerar usando um utilitário de armazenamento Azure.

    Caso contrário, escolha Conta.

  4. Se os seus dados estiverem numa bolha pública que pode ser acedida através de um URL SAS, não precisa de credenciais adicionais porque a cadeia URL contém todas as informações necessárias para o download e autenticação.

    No campo URI , escreva ou cole o URI completo que define a conta e a bolha pública.

    Nota

    Numa página acessível via URL SAS, os dados podem ser armazenados apenas usando estes formatos: CSV, TSV e ARFF.

  5. Se os seus dados estiverem numa conta privada , deve fornecer credenciais, incluindo o nome da conta e a chave.

    • Para o nome da conta, escreva ou cole o nome da conta que contém a bolha a que pretende aceder.

      Por exemplo, se o URL completo da conta de armazenamento for https://myshared.blob.core.windows.net, escreveria myshared.

    • Para a tecla Conta, cole a chave de acesso ao armazenamento que está associada à conta.

      Se não conhece a chave de acesso, consulte a secção" Gerencie as suas contas de armazenamento Azure" neste artigo: Sobre o Azure Armazenamento Contas.

  6. Para o caminho para o contentor, diretório ou bolha, digite o nome da bolha específica que pretende recuperar.

    Por exemplo, se você carregou um ficheiro nomeado data01.csv para os dados de treino do contentor numa conta chamada mymldata, o URL completo para o ficheiro seria: https://mymldata.blob.core.windows.net/trainingdata/data01.txt.

    Portanto, no campo Caminho para contentor, diretório ou bolha, você escreveria: trainingdata/data01.csv

    Para importar vários ficheiros, pode utilizar os caracteres * wildcard (asterisco) ou ? (ponto de interrogação).

    Por exemplo, assumindo que o recipiente trainingdata contém vários ficheiros de um formato compatível, pode utilizar a seguinte especificação para ler todos os ficheiros a datapartir de , e concatenar-os num único conjunto de dados:

    trainingdata/data*.csv

    Não pode usar wildcards em nomes de contentores. Se precisar de importar ficheiros de vários contentores, utilize uma instância separada do módulo de Dados de Importação para cada recipiente e, em seguida, misture os conjuntos de dados utilizando o módulo Add Rows .

    Nota

    Se tiver selecionado a opção, Utilize os resultados em cache, quaisquer alterações que escote nos ficheiros do recipiente não desencadeie uma atualização dos dados durante a experiência.

  7. Para o formato de ficheiro Blob, selecione uma opção que indique o formato dos dados que são armazenados na bolha, para que Machine Learning possa processar os dados de forma adequada. Os seguintes formatos são suportados:

    • CSV: Os valores separados em vírgula (CSV) são o formato de armazenamento padrão para a exportação e importação de ficheiros em Machine Learning. Se os dados já contiver uma linha de cabeçalho, certifique-se de selecionar a opção, O Ficheiro tem linha de cabeçalho ou o cabeçalho será tratado como uma linha de dados.

      Para obter mais informações sobre o formato CSV utilizado em Machine Learning, consulte [Converter para CSV](conversão para csv.md

    • TSV: Valores separados por separados por separados por separados por guias (TSV) é um formato utilizado por muitas ferramentas de aprendizagem automática. Se os dados já contiver uma linha de cabeçalho, certifique-se de selecionar a opção, O Ficheiro tem linha de cabeçalho ou o cabeçalho será tratado como uma linha de dados.

      Para obter mais informações sobre o formato TSV utilizado em Machine Learning, consulte Converter em TSV.

    • Este formato suporta a importação de ficheiros no formato utilizado pelo toolset Weka. Para mais informações, consulte Converter em ARFF.

    • CSV com uma codificação especificada: Utilize esta opção para ficheiros CSV que possam ter sido preparados usando um separador de campo diferente, ou se a fonte poderia ter usado uma codificação de caracteres diferente da UTF-8. Este formato não é suportado para ficheiros armazenados num URL SAS.

    • Excel: Utilize esta opção para ler dados de Excel livros armazenados em Azure Blob Armazenamento. O formato Excel não é suportado para ficheiros armazenados num URL SAS.

  8. Para ficheiros CSV com codificações especiais, desacorde estas opções adicionais para controlar a importação adequada dos caracteres:

    • Formato delimiter de vírgula: Escolha entre uma lista de caracteres comuns usados como separadores de campo, incluindo o caráter do separador de vírgula , , e o ponto e vírgula ;.

    • Formato codificação: Escolha a codificação de caracteres utilizada pelo ficheiro que pretende ler. Consulte a secção de notas técnicas para obter uma lista de codificações suportadas.

    • O ficheiro tem linha de cabeçalho: Selecione esta opção se os dados já contiver uma linha de cabeçalho. Caso contrário, o cabeçalho é importado como uma linha de dados.

  9. Para Excel ficheiros, depois de especificar a conta e o recipiente onde o ficheiro Excel está armazenado, deve indicar o formato Excel e o alcance e o nome da mesa, utilizando estas opções:

    • Excel formato de dados: Indique se os dados estão numa gama de folhas de cálculo Excel ou numa tabela Excel.

    • Excel folha ou tabela incorporada: Se selecionar a opção Excel folha, especifique o nome da folha de cálculo (o nome do separador) ou uma tabela incorporada no livro. Todos os dados da folha são lidos; não é possível especificar uma gama de células. Se selecionar a Excel opção de tabela, tem de obter o nome da mesa e não o nome da folha, mesmo que haja apenas uma tabela numa folha. Para ver o nome da tabela, clique dentro da tabela e, em seguida, veja a propriedade Nome de Mesa no separador Ferramentas de Mesa .

  10. Execute a experimentação.

Exemplos

Para aprender a utilizar dados da Azure Blob Armazenamento em experiências de machine learning, consulte a Galeria Azure:

Notas técnicas

Esta secção contém detalhes de implementação, dicas e respostas a perguntas frequentes.

Perguntas comuns

Existe alguma forma de automatizar a importação de dados?

Existem várias formas de obter novos dados e usá-lo para atualizar regularmente uma experiência. Muito depende da origem dos dados de origem e das ferramentas que prefere para o movimento de dados. ver estes artigos para algumas ideias.

Automatizar a execução da experiência requer geralmente a criação de um serviço web, que pode ser desencadeado por um programador de tarefas, PowerShell ou outro código personalizado.

Por que tive um erro quando tentei ler os dados de entrada de uma bolha existente?

Existem várias questões possíveis:

  • A bolha usa um formato não suportado
  • A conta em si foi criada usando uma opção que ainda não é suportada por Machine Learning.

Formato não suportado: Ao ler a partir de Azure Blob Armazenamento, atualmente Machine Learning requer que o blob utilize o formato blob de bloco, que permite carregar bolhas grandes de forma eficiente. Por exemplo, se carregar um ficheiro CSV para o armazenamento de bolhas, o ficheiro será armazenado como uma bolha de bloco. No entanto, quando cria um ficheiro blob programáticamente, pode estar a gerar um tipo diferente de bolha, como o tipo ApendBlob, que não é suportado.

Como solução alternativa, recomendamos que utilize o tipo de bolha de bloco .

Importante

Depois de criado o blob, o tipo não pode ser alterado.

Para obter mais informações, consulte Understanding Block Blobs, Append Blobs e Page Blobs.

Tipo de conta não suportada: Os módulos de importação e exportação só podem ler e escrever dados a partir de contas de armazenamento Azure que foram criadas usando o modelo de implementação Clássico. Por outras palavras, o novo tipo de conta Azure Blob Armazenamento que oferece níveis de acesso de armazenamento quentes e frescos ainda não está suportado. Geralmente, quaisquer contas de armazenamento Azure que possa ter criado antes desta opção de serviço ficar disponível não deveriam ter sido afetadas.

Se precisar de criar uma nova conta para utilização com Machine Learning, selecione Classic para o modelo de Implementação ou utilize o gestor de recursos e para o tipo de Conta, selecione o propósito geral em vez do armazenamento Blob.

Como posso evitar reessarcar os mesmos dados desnecessariamente?

Se os dados de origem alterarem, pode atualizar o conjunto de dados e adicionar novos dados re-executando dados de importação. No entanto, se não quiser relê-lo a partir da fonte cada vez que executar a experiência, selecione a opção de resultados em cache para A VERDADEIRA. Quando esta opção for definida para TRUE, o módulo verificará se a experiência foi executada anteriormente utilizando a mesma fonte e as mesmas opções de entrada, e se for encontrada uma execução anterior, os dados na cache são utilizados, em vez de reensalar os dados da fonte.

Posso filtrar os dados como estão a ser lidos pela fonte?

O módulo De Dados de Importação não suporta a filtragem à medida que os dados estão a ser lidos.

Depois de ter carregado os dados no Machine Learning Studio (clássico), pode modificar os dados com estas ferramentas:

  • Utilize um script R personalizado para filtrar ou transformar dados.

  • Utilize o módulo Dados Divididos com uma expressão relativa ou uma expressão regular para isolar os dados que pretende e, em seguida, guarde-os como conjunto de dados.

Se descobrir que carregou mais dados do que o necessário, pode substituir o conjunto de dados lendo um novo conjunto de dados e especificar que este é guardado com o mesmo nome que os dados mais antigos e maiores.

Porque é que o processo de importação adiciona uma linha extra no final do meu conjunto de dados quando encontra uma nova linha?

Se o módulo De Dados de Importação encontrar uma linha de dados que é seguida por uma linha vazia ou um carácter de linha nova, uma linha extra contendo valores em falta é adicionada no final da tabela.

A razão para interpretar uma nova linha como uma nova linha é que os Dados de Importação não podem determinar a diferença entre uma linha vazia real e uma linha vazia que é criada pelo utilizador pressionando ENTER no final de um ficheiro.

Como alguns algoritmos de aprendizagem automática suportam dados em falta e assim tratariam esta linha como um caso (que por sua vez poderia afetar os resultados), deve usar Dados Desaparecidos Limpos para verificar se há valores em falta e removê-los conforme necessário.

Antes de verificar se existem filas vazias, também pode querer separar a linha vazia final de outras linhas com valores parciais em falta, o que pode representar valores em falta reais nos dados de origem. Para isso, pode dividir o conjunto de dados utilizando Dados Divididos. Selecione a opção 'Selecione' linhas N para ler todas as linhas, menos a linha final.

O que acontece se importar dados carregados de diferentes regiões geográficas?

Se a conta de armazenamento de bolhas ou mesas estiver numa região diferente do nó de computação utilizado para a experiência de machine learning, o acesso aos dados pode ser mais lento. Além disso, é cobrado por entrada de dados e saída na subscrição.

Porque é que alguns personagens do meu ficheiro de origem não são apresentados corretamente no cabeçalho?

Machine Learning geralmente suporta a codificação UTF-8. Se o seu ficheiro de origem utilizar outro tipo de codificação, os caracteres podem não ser importados corretamente.

Se tiver problemas em carregar os dados corretamente, tente utilizar a opção CSV com codificação e especifique parâmetros para delimiters personalizados, a página de código, etc.

Existem caracteres ou caracteres proibidos que sejam alterados durante a importação?

Se os dados de atributos contiverem marcas de apas ou sequências de caracteres escapados, são manipulados utilizando as regras para tais caracteres em Microsoft Excel. Todos os outros caracteres são tratados utilizando as seguintes especificações como uma orientação: RFC 4180.

O limite de tamanho para o upload dos conjuntos de dados locais diretamente para Machine Learning é de 1,98 GB. Com ficheiros muito grandes, a adição do conjunto de dados à sua conta de experiência pode demorar muito tempo a ser concluída.

  • Estimar 10 minutos ou mais por GB de dados.
  • Para otimizar o desempenho, utilize uma conta de armazenamento na mesma região que o Azure ML serviço utiliza.

Para carregar ficheiros maiores, até 10 GB, existem várias abordagens:

  • Use um ficheiro com fecho. Pode carregar conjuntos de dados para o Azure ML Studio (clássico) em formato zipped e, em seguida, utilizar o módulo Desembalado Zipped Datasets para desembalar e guardar o conjunto de dados. Os conjuntos de dados com fecho também podem ser desembalados utilizando o módulo Execut R Script , mas o desempenho pode ser limitado.

  • Utilize um utilitário Azure rápido, como o AzCopy. Encenar os dados para Microsoft Azure Blob Armazenamento usando uma utilidade como a AzCopy. Em seguida, utilize o módulo de Dados de Importação para importar dados do armazenamento de blob para o Studio (clássico).

    Por exemplo, o seguinte código mostra a sintaxe AzCopy para escrever para o armazenamento de bolhas.

    cd "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy"
    .\AzCopy.exe /Source:C:\LocalFolder /Dest:https://mystorage.blob.core.windows.net/mycontainer /DestKey:MyStorageAccountKey /Pattern:myfile.csv
    

Importei um ficheiro CSV utilizando uma codificação especificada, mas o texto não é apresentado corretamente quando uso a opção de visualização. Porquê?

Para conjuntos de dados carregados, Machine Learning geralmente suporta apenas UTF-8. No entanto, o módulo De Dados de Importação suporta formatos de codificação adicionais. Portanto, depois de ter importado um ficheiro utilizando um destes formatos, poderá descobrir que os caracteres não estão a ser exibidos corretamente. A solução é converter a codificação para UTF-8 utilizando um destes métodos:

  • Guarde os dados importados como conjunto de dados. (Utilizar um conjunto de dados guardado em vez dos dados do CSV também pode melhorar o desempenho.)

  • Se estiver a utilizar o conjunto de dados no módulo Execut R Script , pode impor a codificação correta utilizando scripts como este:

    dataset <- maml.mapInputPort(1)
    Encoding(dataset$city) <- "UTF-8"
    maml.mapOutputPort("dataset")
    

    Em seguida, pode utilizar o Visualizar na saída do módulo Execut R Script e verificar se os caracteres são apresentados corretamente.

Que opções tenho para importar ficheiros de texto? O CSV não é apropriado para os meus dados.

Processar e limpar textos não estruturados para caber perfeitamente em colunas é sempre um desafio. No entanto, se necessitar de importar colunas de dados de texto, o formato TSV apresenta frequentemente menos dificuldades, embora ainda precise de verificar previamente o excesso de caracteres do separador.

Recomendamos que reveja o modelo de Classificação de Texto, na Galeria Azure AI, para ver um exemplo de ingestão e processamento de texto no Machine Learning Studio (clássico).

Codificação personalizada para ficheiros CSV

As primeiras versões do módulo De Dados de Importação não suportavam alguns tipos de ficheiros CSV válidos. Por exemplo, os dados exportados de Excel por vezes continham caracteres que impediam que o ficheiro analisasse corretamente.

Para suportar uma gama mais ampla possível de delimiters e formatos de caracteres, a Import Data suporta agora a escolha do formato delimiter e codificação. Se utilizar o CSV com opção de codificação , o resultado é uma análise mais robusta e eficiente do ficheiro CSV.

Pode utilizar as seguintes codificações de caracteres:

Tipo Encoding
Unicode Unicódigo (UTF-8)

Unicode

Unicódigo (UTF-32)

Unicódigo (UTF-7)
CJYK Tradicional Chinês (Big5)

Chinês Simplificado (GB2312)

Chinês Simplificado (Mac)

Chinês Simplificado (GB2312-80)

Chinês Simplificado (ISO-2022)

Chinês Simplificado (GB18030)

Japonês (JIS)

Coreano (ISO)

Coreano (Mac)
Outro Europeu Ocidental (Windows)

Europa Ocidental (ISO)

Hebraico (ISO-Visual)

US ASCII

Dica

Após a conclusão da importação de CSV, recomendamos que guarde os ficheiros importados como conjunto de dados para garantir que os dados importados utilizem a codificação UTF-8 na sua experiência.

Inferência do tipo de dados nos formatos CSV e TSV

Quando o módulo De Dados de Importação carrega dados de um ficheiro CSV ou TSV em Azure Blob Armazenamento, um adivinho de tipo procura dados categóricos ou numéricos no ficheiro de origem, e representa o tipo descoberto nos metadados para o novo conjunto de dados.

No entanto, pode anular os resultados do adivinho tipo editando os atributos da coluna no módulo Editar Metadados após a carga dos dados.

Parâmetros do módulo

Secção de opções Geral

Name Intervalo Tipo Predefinição Description
Origem de dados Lista Fonte de dados ou pia Armazenamento de Blobs do Azure A fonte de dados pode ser HTTP, FTP, HTTPS anónimo ou FTPS, um ficheiro no armazenamento Azure BLOB, uma tabela Azure, uma Base de Dados SQL do Azure, uma base de dados SQL Server no local, uma tabela Hive ou um ponto final OData.
Tipo de autenticação PublicOrSas/Conta String Conta Especificar se os dados estão num contentor público acessível via URL SAS ou se estão numa conta de armazenamento privado que requer autenticação para acesso.
Use resultados em cache VERDADEIRO/FALSO Booleano FALSE Selecione para evitar o carregamento de dados entre corridas

Público ou SAS - Opções de armazenamento público

Name Intervalo Tipo Predefinição Description
URI qualquer String nenhum Ponto final de descanso HDFS
Formato do ficheiro ARFF, CSV ou TSV String CSV Selecione um dos formatos suportados
URI tem linha de cabeçalho Booleano VERDADEIRO/FALSO TRUE É verdade se o ficheiro contiver uma linha de cabeçalho; se falso, a primeira linha de dados é usada como os títulos da coluna

Conta - Opções de armazenamento privado

Name Intervalo Tipo Predefinição Description
Nome da conta qualquer String nenhum Digite o nome da conta de armazenamento
Chave da conta qualquer SecureString nenhum Cole a chave da conta
Caminho para contentor, diretório ou bolha qualquer String N/D Digite o nome do recipiente ou do diretório
Formato de ficheiro blob ARFF, CSV ou TSV String CSV Selecione um dos formatos suportados
Arquivo tem linha de cabeçalho qualquer String Verdadeiro Nome da conta de armazenamento do Azure

Saídas

Nome Tipo Description
Conjunto de dados de resultados Tabela de Dados Conjunto de dados com dados importados

Exceções

Exceção Description
Erro 0027 Uma exceção ocorre quando dois objetos têm que ter o mesmo tamanho, mas não são.
Erro 0003 Uma exceção ocorre se uma ou mais entradas forem nulas ou vazias.
Erro 0029 Uma exceção ocorre quando um URI inválido é passado.
Erro 0030 uma exceção ocorre quando não é possível descarregar um ficheiro.
Erro 0002 Ocorre uma exceção se um ou mais parâmetros não puderem ser analisados ou convertidos do tipo especificado para o tipo exigido pelo método-alvo.
Erro 0009 Ocorre uma exceção se o nome da conta de armazenamento Azure ou o nome do recipiente forem especificados incorretamente.
Erro 0048 Uma exceção ocorre quando não é possível abrir um ficheiro.
Erro 0046 Uma exceção ocorre quando não é possível criar um diretório em caminho especificado.
Erro 0049 Uma exceção ocorre quando não é possível analisar um ficheiro.

Para obter uma lista de erros específicos dos módulos Studio (clássicos), consulte Machine Learning Códigos de Erro.

Para obter uma lista de exceções da API, consulte Machine Learning CÓDIGOs de Erro da API REST.

Ver também

Importar Dados
Dados de Exportação
Importar a partir do URL da Web através de HTTP
Importação da Consulta de Colmeia
Importar a partir da Base de Dados SQL do Azure
Importação da Tabela Azure
Importação de Fornecedores de Feed de Dados
Importação de Bases de Dados SQL Server de Instalações