mltable Pacote

Contém a funcionalidade para interagir com arquivos existentes e criar novos MLTable.

Com o pacote mltable , você pode carregar, transformar e analisar dados em qualquer ambiente python, incluindo Jupyter Notebooks ou seu IDE do Python favorito.

Pacotes

tests

Contém a funcionalidade para interagir com arquivos existentes e criar novos MLTable.

Com o pacote mltable , você pode carregar, transformar e analisar dados em qualquer ambiente python, incluindo Jupyter Notebooks ou seu IDE do Python favorito.

Módulos

mltable

Contém a funcionalidade para criar e interagir com objetos MLTable

Classes

DataType

Classe auxiliar para lidar com a manipulação adequada de tipos de coluna com suporte (int, bool, string etc.). Atualmente usado com MLTable.convert_column_types(...) & from_delimited_files(...) para especificar em quais tipos converter colunas. Tipos diferentes são selecionados com DataType.from_(...) *Métodos.

MLTable

Representa uma MLTable.

Uma MLTable define uma série de operações imutáveis avaliadas lentamente para carregar dados da fonte de dados. Os dados não são carregados da origem até que a MLTable seja solicitada a fornecer dados.

Inicialize uma nova MLTable.

Esse construtor não deve ser invocado diretamente. A MLTable destina-se a ser criada usando load.

Enumerações

MLTableFileEncoding

Define opções de como a codificação é processada ao ler dados de arquivos para criar uma MLTable.

Esses valores de enumeração são usados na classe MLTable.

MLTableHeaders

Define opções de como os cabeçalhos de coluna são processados ao ler dados de arquivos para criar uma MLTable.

Esses valores de enumeração são usados na classe MLTable.

Funções

from_delimited_files

Cria uma MLTable com base na lista fornecida de arquivos delimitados.

from_delimited_files(paths, header='all_files_same_headers', delimiter=',', support_multi_line=False, empty_as_string=False, encoding='utf8', include_path_column=False, infer_column_types=True)

Parâmetros

Nome Description
paths
Obrigatório

Os caminhos dão suporte a arquivos ou pastas com caminhos locais ou de nuvem. Os caminhos de arquivo local relativos são considerados relativos ao diretório de trabalho atual. Se o diretório pai ao qual um caminho de arquivo local for relativo não for o diretório de trabalho atual, é recomendável passar esse caminho como um caminho de arquivo absoluto.

header
Obrigatório

Como os cabeçalhos de coluna são tratados ao ler de arquivos. Opções especificadas usando a enumeração MLTableHeaders. Os cabeçalhos com suporte são 'no_header', 'from_first_file', 'all_files_different_headers' e 'all_files_same_headers'.

delimiter
Obrigatório
str

separador usado para dividir colunas

support_multi_line
Obrigatório

Se False, todas as quebras de linha, incluindo aquelas nos valores de campo entre aspas, serão interpretadas como uma quebra de registro. A leitura de dados dessa maneira é mais rápida e mais otimizada para execução paralela em vários núcleos de CPU. No entanto, isso pode resultar na produção silenciosa de mais registros com valores de campo desalinhados. Isso deve ser definido como True quando os arquivos delimitados são conhecidos por conter quebras de linha entre aspas.

Dado esse arquivo csv como exemplo, os dados serão lidos de maneira diferente com base em support_multi_line.

A,B,C A1,B1,C1 A2,"B 2",C2


   from mltable import from_delimited_files

   # default behavior: support_multi_line=False
   mltable = from_delimited_files(path)
   print(mltable.to_pandas_dataframe())
   #      A   B     C
   #  0  A1  B1    C1
   #  1  A2   B  None
   #  2  2"  C2  None

   # to handle quoted line breaks
   mltable = from_delimited_files(path, support_multi_line=True)
   print(mltable.to_pandas_dataframe())
   #      A       B   C
   #  0  A1      B1  C1
   #  1  A2  B\r\n2  C2
empty_as_string
Obrigatório

Como os campos vazios devem ser tratados. Se True lerá campos vazios como cadeias de caracteres vazias, caso contrário, leia como nulos. Se True e column contiverem dados datetime ou numéricos, os campos vazios ainda serão lidos como nulos.

encoding
Obrigatório

Especifica a codificação de arquivo usando a enumeração MLTableFileEncoding. As codificações com suporte são:

  • utf8 como "utf8", "utf-8", "utf-8 bom"
  • iso88591 como "iso88591" ou "iso-8859-1"
  • latin1 como "latin1" ou "latin-1"
  • utf16 como "utf16" ou "utf-16"
  • windows1252 como "windows1252" ou "windows-1252"
include_path_column
Obrigatório

Manter informações de caminho como uma coluna na MLTable é útil ao ler vários arquivos e você deseja saber de qual arquivo um registro específico veio ou manter informações úteis que podem ser armazenadas em um caminho de arquivo.

infer_column_types
Obrigatório

Se True, infere automaticamente todos os tipos de coluna. Se False, deixa colunas como cadeias de caracteres. Se um dicionário, representa colunas cujos tipos devem ser definidos para determinados tipos (com todas as outras colunas sendo inferidas). O dicionário pode conter uma chave chamada sample_size mapeada para um número inteiro positivo, representando o número de linhas a serem usadas para inferir tipos de coluna. O dicionário também pode conter uma chave chamada 'column_type_overrides'. Cada chave no dicionário é uma cadeia de caracteres que representa um nome de coluna ou uma tupla de cadeias de caracteres que representam um grupo de nomes de coluna. Cada valor é uma cadeia de caracteres (um de 'boolean', 'string', 'float' ou 'int') ou um DataType. mltable. não há suporte para DataType.to_stream(). Se um dicionário vazio for dado, supõe-se que seja True. O padrão é True.

Um exemplo de como formatar infer_column_types.


   from mltable import from_delimited_files

   # default behavior: support_multi_line=False
   mltable = from_delimited_files(paths, infer_column_types={
       'sample_size': 100,
       'column_type_overrides': {
           'colA': 'boolean'
           ('colB', 'colC'): DataType.to_int()
       }
   })

Retornos

Tipo Description

MLTable

Comentários

Deve haver uma cadeia de caracteres de caminhos válida.


   # load mltable from local delimited file
   from mltable import from_delimited_files
   paths = [{"file": "./samples/mltable_sample/sample_data.csv"}]
   mltable = from_delimited_files(paths)

from_delta_lake

Cria um objeto MLTable para ler em arquivos Parquet da tabela delta lake.

from_delta_lake(delta_table_uri, timestamp_as_of=None, version_as_of=None, include_path_column=False)

Parâmetros

Nome Description
delta_table_uri
Obrigatório
str

URI apontando para o diretório da tabela delta que contém os arquivos parquet do Delta Lake a serem lidos. Os tipos de URI com suporte são: URI de caminho local, URI de armazenamento, URI de armazenamento de dados de forma longa ou URI de ativo de dados.

timestamp_as_of
Obrigatório

cadeia de caracteres datetime no formato RFC-3339/ISO-8601 a ser usada para ler arquivos parquet correspondentes de um ponto específico no tempo. ex) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00+08:00", "2022-10-01T01:30:00-08:00"

version_as_of
Obrigatório
int

versão de inteiro a ser usada para ler em uma versão específica dos arquivos parquet.

include_path_column
Obrigatório

Mantenha as informações de caminho como uma coluna, úteis ao ler vários arquivos e você deseja saber de qual arquivo um registro específico veio ou para manter informações úteis que podem ser armazenadas em um caminho de arquivo.

Retornos

Tipo Description

Instância de MLTable

Comentários

from_delta_lake cria um objeto MLTable que define as operações para carregar dados da pasta delta lake na representação tabular.

Para que os dados sejam acessíveis pelo Azure Machine Learning, o caminho deve apontar para o diretório da tabela delta e os arquivos delta lake referenciados devem estar acessíveis pelos serviços do AzureML ou por trás de URLs da Web públicas.

from_delta_lake dá suporte à leitura de dados do Delta Lake de um URI apontando para: caminho local, Blob, ADLS Gen1 e ADLS Gen2

Os usuários podem ler e materializar os dados chamando to_pandas_dataframe() na MLTable retornada


   # create an MLTable object from a delta lake using timestamp versioning and materialize the data
   from mltable import from_delta_lake
   mltable_ts = from_delta_lake(delta_table_uri="./data/delta-01", timestamp_as_of="2021-05-24T00:00:00Z")
   pd = mltable_ts.to_pandas_dataframe()

   # create  an MLTable object from a delta lake using integer versioning and materialize the data
   from mltable import from_delta_lake
   mltable_version = from_delta_lake(delta_table_uri="./data/delta-02", version_as_of=1)
   pd = mltable_version.to_pandas_dataframe()

from_json_lines_files

Crie uma MLTable com base na lista fornecida de caminhos de arquivo JSON.

from_json_lines_files(paths, invalid_lines='error', encoding='utf8', include_path_column=False)

Parâmetros

Nome Description
paths
Obrigatório

Os caminhos dão suporte a arquivos ou pastas com caminhos locais ou de nuvem. Os caminhos de arquivo local relativos são considerados relativos ao diretório de trabalho atual. Se o diretório pai ao qual um caminho de arquivo local for relativo não for o diretório de trabalho atual, é recomendável passar esse caminho como um caminho de arquivo absoluto.

invalid_lines
Obrigatório
str

Como lidar com linhas que são JSON inválidas pode ser 'drop' ou 'error'. Se as linhas inválidas 'drop' forem descartadas, caso contrário, o erro será gerado.

encoding
Obrigatório

Especifica a codificação de arquivo usando a enumeração MLTableFileEncoding. Codificações de arquivo com suporte:

  • utf8 como "utf8", "utf-8", "utf-8 bom"
  • iso88591 como "iso88591" ou "iso-8859-1"
  • latin1 como "latin1" ou "latin-1"
  • utf16 como "utf16" ou "utf-16"
  • windows1252 como "windows1252" ou "windows-1252"
include_path_column
Obrigatório

Mantenha as informações de caminho como uma coluna, úteis ao ler vários arquivos e você deseja saber de qual arquivo um registro específico veio ou para manter informações úteis que podem ser armazenadas em um caminho de arquivo.

Retornos

Tipo Description

MLTable

Comentários

Deve haver um dicionário de caminhos válido


   # load mltable from local JSON paths
   from mltable import from_json_lines_files
   paths = [{'file': './samples/mltable_sample/sample_data.jsonl'}]
   mltable = from_json_lines_files(paths)

from_parquet_files

Crie a MLTable com base na lista fornecida de arquivos parquet.

from_parquet_files(paths, include_path_column=False)

Parâmetros

Nome Description
paths
Obrigatório

Os caminhos dão suporte a arquivos ou pastas com caminhos locais ou de nuvem. Os caminhos de arquivo local relativos são considerados relativos ao diretório de trabalho atual. Se o diretório pai ao qual um caminho de arquivo local for relativo não for o diretório de trabalho atual, é recomendável passar esse caminho como um caminho de arquivo absoluto.

include_path_column
Obrigatório

Mantenha as informações de caminho como uma coluna, úteis ao ler vários arquivos e você deseja saber de qual arquivo um registro específico veio ou para manter informações úteis que podem ser armazenadas em um caminho de arquivo.

Retornos

Tipo Description

Instância de MLTable

Comentários

Deve haver um dicionário de caminhos válido


   # load mltable from local parquet paths
   from mltable import from_parquet_files
   paths = [{'file': './samples/mltable_sample/sample.parquet'}]
   mltable = from_parquet_files(paths)

from_paths

Crie a MLTable com base nos caminhos fornecidos.

from_paths(paths)

Parâmetros

Nome Description
paths
Obrigatório

Os caminhos dão suporte a arquivos ou pastas com caminhos locais ou de nuvem. Os caminhos de arquivo local relativos são considerados relativos ao diretório de trabalho atual. Se o diretório pai ao qual um caminho de arquivo local for relativo não for o diretório de trabalho atual, é recomendável passar esse caminho como um caminho de arquivo absoluto.

Retornos

Tipo Description

Instância de MLTable

Comentários

Deve haver um dicionário de caminhos válido


   # load mltable from local paths
   from mltable import from_paths
   tbl = from_paths([{'file': "./samples/mltable_sample"}])

   # load mltable from cloud paths
   from mltable import load
   tbl = from_paths(
       [{'file': "https://<blob-storage-name>.blob.core.windows.net/<path>/sample_file"}])

load

Carrega o arquivo MLTable (YAML) presente no uri fornecido.

storage_options dá suporte a chaves de 'assinatura', 'resource_group', 'workspace' ou 'location'. Todos devem localizar um workspace do Azure Machine Learning.

load(uri, storage_options: dict = None, ml_client=None)

Parâmetros

Nome Description
uri
Obrigatório
str

O URI dá suporte a URI de armazenamento de dados de forma longa, URI de armazenamento, caminho local ou URI do ativo de dados ou URI curto do ativo de dados

storage_options
Obrigatório

Informações do workspace do AML quando o URI é um ativo AML

ml_client
Obrigatório

Retornos

Tipo Description

MLTable

Comentários

Deve haver um arquivo YAML MLTable válido chamado 'MLTable' presente no uri fornecido.


   # load mltable from local folder
   from mltable import load
   tbl = load('.\samples\mltable_sample')

   # load mltable from azureml datastore uri
   from mltable import load
   tbl = load(
       'azureml://subscriptions/<subscription-id>/
       resourcegroups/<resourcegroup-name>/workspaces/<workspace-name>/
       datastores/<datastore-name>/paths/<mltable-path-on-datastore>/')

   # load mltable from azureml data asset uri
   from mltable import load
   tbl = load(
         'azureml://subscriptions/<subscription-id>/
         resourcegroups/<resourcegroup-name>/providers/Microsoft.MachineLearningServices/
         workspaces/<workspace-name>/data/<data-asset-name>/versions/<data-asset-version>/')

   # load mltable from azureml data asset short uri
   from mltable import load
   from azure.ai.ml import MLClient
   from azure.identity import DefaultAzureCredential
   credential = DefaultAzureCredential()
   ml_client = MLClient(credential, <subscription_id>, <resourcegroup-name>, <workspace-name>)
   tbl = load('azureml:<data-asset-name>:<version>', ml_client=ml_client)