Importação do Armazenamento Azure Blob

Este tópico descreve como usar o módulo de Dados de Importação no Azure Machine Learning Studio (clássico), para ler dados do armazenamento de blob Azure, para que possa utilizar os dados numa experiência de aprendizagem automática.

Nota

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

Este conteúdo diz respeito apenas ao Studio (clássico). Módulos semelhantes de arrasto e queda foram adicionados ao designer de Aprendizagem automática Azure. Saiba mais neste artigo comparando as duas versões.

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 por 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 de armazenamento Azure Blob se estiver ativada a opção "Secure Transfer Required".

Para outras restrições sobre os tipos de armazenamento de bolhas suportados para utilização com Azure 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 a partir do Armazenamento Azure Blob

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 possui 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 O Assistente de Dados de Importação e siga as indicaçõ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 Storage.

  3. Para 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, deverá 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 https://myshared.blob.core.windows.net for, 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 as Contas de Armazenamento Azure.

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

    Por exemplo, se enviasse um ficheiro com o nome data01.csv para os dados de treino de contentores numa conta denominada 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 que começam com data , 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 o Azure Machine Learning possa processar os dados de forma adequada. Os seguintes formatos são suportados:

    • CSV: Valores separados por vírgula (CSV) é o formato de armazenamento padrão para a exportação e importação de ficheiros em Azure 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 no Azure Machine Learning, consulte [Converter para CSV](conversão para csv.md

    • TSV: Valores separados por separados por separados por separados por 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 no Azure Machine Learning, consulte Converter em TSV.

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

    • CSV com codificação especificada: Utilize esta opção para ficheiros CSV que possam ter sido preparados utilizando 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 dos livros excel armazenados no armazenamento de bolhas Azure. 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 os ficheiros Excel, depois de especificar a conta e o recipiente onde o ficheiro Excel está armazenado, deve indicar o formato Excel e o alcance ou o nome da tabela, utilizando estas opções:

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

    • Folha de excel ou tabela incorporada: Se selecionar a opção folha Excel, 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 opção de tabela Excel, deve 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 do armazenamento de blob Azure 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 geralmente requer 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 pela Azure Machine Learning.

Formato não suportado: Ao ler a partir do armazenamento de blob Azure, atualmente a Azure 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 implantação Clássico. Por outras palavras, o novo tipo de conta Azure Blob Storage que oferece um nível de acesso de armazenamento quente e fresco 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 a Azure Machine Learning, selecione Classic para o modelo de Implementação, ou utilize o gestor de recursos e para o tipo conta, selecione propósito geral em vez de 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 utilizar para TRUE. 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 rereserva os dados da fonte.

Posso filtrar os dados como está a ser lido 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 Azure 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 última linha vazia de outras linhas com valores parciais em falta, o que pode representar valores em falta reais nos dados de origem. Para tal, pode dividir o conjunto de dados utilizando Dados Divididos. Selecione a opção 'Selecionar as linhas N' para ler todas as linhas, exceto 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?

A Azure 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 aspas ou sequências de caracteres escapados, são manipulados utilizando as regras para tais caracteres no Microsoft Excel. Todos os outros caracteres são tratados utilizando as seguintes especificações como orientação: RFC 4180.

O limite de tamanho para o upload de conjuntos de dados locais diretamente para Azure 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 serviço Azure ML 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. Ediúnio os dados para o Microsoft Azure Blob Storage utilizando um utilitário como a AzCopy. Em seguida, utilize o módulo de Dados de Importação para importar dados do armazenamento de bolhas 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, a Azure 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 importar um ficheiro usando 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 Azure 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 do Excel continham, por vezes, 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 no armazenamento de blob Azure, 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

Nome Intervalo Tipo Predefinição Descrição
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 Azure SQL, uma base de dados sql server no local, uma tabela Hive ou um ponto final OData.
Tipo de autenticação PublicOrSas/Conta String Conta Especifique 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 carregar dados entre corridas

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

Nome Intervalo Tipo Predefinição Descrição
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

Nome Intervalo Tipo Predefinição Descrição
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 Descrição
Conjunto de dados de resultados Tabela de Dados Conjunto de dados com dados importados

Exceções

Exceção Descrição
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 Uma exceção ocorre 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 códigos de erro de aprendizagem automática.

Para obter uma lista de exceções da API, consulte códigos de erro da API de aprendizagem automática.

Ver também

Dados de Importação
Dados de Exportação
Importação de URL web via HTTP
Importação da Consulta de Colmeia
Importação da Base de Dados Azure SQL
Importação da Tabela Azure
Importação de Fornecedores de Feed de Dados
Importação da Base de Dados de Servidor SQL nas Instalações