Share via


mltable Paquet

Contient des fonctionnalités permettant d’interagir avec des fichiers MLTable existants et de créer de nouveaux.

Avec le package mltable , vous pouvez charger, transformer et analyser des données dans n’importe quel environnement Python, y compris Jupyter Notebooks ou votre IDE Python favori.

Paquets

tests

Contient des fonctionnalités permettant d’interagir avec des fichiers MLTable existants et de créer de nouveaux.

Avec le package mltable , vous pouvez charger, transformer et analyser des données dans n’importe quel environnement Python, y compris Jupyter Notebooks ou votre IDE Python favori.

Modules

mltable

Contient des fonctionnalités permettant de créer et d’interagir avec des objets MLTable

Classes

DataType

Classe d’assistance pour gérer la manipulation appropriée des types de colonnes pris en charge (int, bool, string, etc.). Actuellement utilisé avec MLTable.convert_column_types (...) & from_delimited_files (...) pour spécifier les types vers lesquels convertir les colonnes. Différents types sont sélectionnés avec DataType.from_ (...) *Méthodes.

MLTable

Représente un MLTable.

Un MLTable définit une série d’opérations immuables évaluées de manière différée pour charger des données à partir de la source de données. Les données ne sont pas chargées à partir de la source tant que MLTable n’est pas invité à fournir des données.

Initialisez un nouveau MLTable.

Ce constructeur n’est pas censé être appelé directement. MLTable est destiné à être créé à l’aide de load.

Énumérations

MLTableFileEncoding

Définit des options pour le traitement de l’encodage lors de la lecture de données à partir de fichiers pour créer un MLTable.

Ces valeurs d’énumération sont utilisées dans la classe MLTable.

MLTableHeaders

Définit des options pour le traitement des en-têtes de colonne lors de la lecture de données à partir de fichiers pour créer un MLTable.

Ces valeurs d’énumération sont utilisées dans la classe MLTable.

Fonctions

from_delimited_files

Crée un MLTable à partir de la liste donnée de fichiers délimités.

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)

Paramètres

Nom Description
paths
Obligatoire

Chemins d’accès prend en charge les fichiers ou dossiers avec des chemins d’accès locaux ou cloud. Les chemins d’accès aux fichiers locaux relatifs sont supposés être relatifs au répertoire de travail actuel. Si le répertoire parent auquel un chemin de fichier local est relatif n’est pas le répertoire de travail actuel, recommandez plutôt de passer ce chemin en tant que chemin d’accès de fichier absolu.

header
Obligatoire

Comment les en-têtes de colonne sont gérés lors de la lecture à partir de fichiers. Options spécifiées à l’aide de l’énumération MLTableHeaders. Les en-têtes pris en charge sont « no_header », « from_first_file », « all_files_different_headers » et « all_files_same_headers ».

delimiter
Obligatoire
str

séparateur utilisé pour fractionner les colonnes

support_multi_line
Obligatoire

Si la valeur est False, tous les sauts de ligne, y compris ceux dans les valeurs de champ entre guillemets, seront interprétés comme un saut d’enregistrement. La lecture de données de cette façon est plus rapide et plus optimisée pour une exécution en parallèle sur plusieurs cœurs de processeur. Toutefois, elle peut entraîner la production silencieuse de davantage d’enregistrements avec des valeurs de champ mal alignées. Elle doit être définie sur True quand les fichiers délimités sont connus pour contenir des sauts de ligne entre guillemets.

Étant donné cet exemple de fichier CSV, les données seront lues différemment en fonction de 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
Obligatoire

Comment les champs vides doivent être gérés. Si True lit les champs vides sous forme de chaînes vides, sinon, lit comme nulls. Si true et colonne contiennent des données datetime ou numériques, les champs vides sont toujours lus en tant que valeurs Null.

encoding
Obligatoire

Spécifie l’encodage de fichier à l’aide de l’énumération MLTableFileEncoding. Les encodages pris en charge sont les suivants :

  • utf8 en tant que « utf8 », « utf-8 », « utf-8 bom »
  • iso88591 en tant que « iso88591 » ou « iso-8859-1 »
  • latin1 comme « latin1 » ou « latin-1 »
  • utf16 en tant que « utf16 » ou « utf-16 »
  • windows1252 en tant que « windows1252 » ou « windows-1252 »
include_path_column
Obligatoire

Conserver les informations de chemin d’accès sous forme de colonne dans mlTable est utile lors de la lecture de plusieurs fichiers et vous souhaitez savoir de quel fichier provient un enregistrement particulier, ou pour conserver des informations utiles qui peuvent être stockées dans un chemin d’accès de fichier.

infer_column_types
Obligatoire

Si la valeur est True, déduit automatiquement tous les types de colonnes. Si la valeur est False, laisse les colonnes sous forme de chaînes. Si un dictionnaire, représente des colonnes dont les types doivent être définis sur des types donnés (toutes les autres colonnes étant déduites). Le dictionnaire peut contenir une clé nommée sample_size mappée à un nombre entier positif, représentant le nombre de lignes à utiliser pour déduire les types de colonnes. Le dictionnaire peut également contenir une clé nommée « column_type_overrides ». Chaque clé du dictionnaire est soit une chaîne représentant un nom de colonne, soit un tuple de chaînes représentant un groupe de noms de colonnes. Chaque valeur est soit une chaîne (l’une de 'boolean', 'string', 'float', ou 'int') soit une DataType. mltable. DataType.to_stream() n’est pas pris en charge. Si un dictionnaire vide est donné, supposé avoir la valeur True. La valeur par défaut est True.

Exemple de mise en forme de 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()
       }
   })

Retours

Type Description

MLTable

Remarques

Il doit y avoir une chaîne de chemins d’accès valide.


   # 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

Crée un objet MLTable à lire dans les fichiers Parquet à partir de la table delta lake.

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

Paramètres

Nom Description
delta_table_uri
Obligatoire
str

URI pointant vers le répertoire de la table delta contenant les fichiers parquet delta lake à lire. Les types d’URI pris en charge sont les suivants : URI de chemin d’accès local, URI de stockage, URI de magasin de données long ou URI de ressource de données.

timestamp_as_of
Obligatoire

Chaîne datetime au format RFC-3339/ISO-8601 à utiliser pour lire dans les fichiers parquet correspondants à partir d’un moment donné. ex) « 2022-10-01T00 :00 :00Z », « 2022-10-01T00 :00 :00+08 :00 », « 2022-10-01T01 :30 :00-08 :00 »

version_as_of
Obligatoire
int

version entière à utiliser pour lire dans une version spécifique de fichiers parquet.

include_path_column
Obligatoire

Conservez les informations de chemin sous forme de colonne, utiles lors de la lecture de plusieurs fichiers et que vous souhaitez savoir de quel fichier provient un enregistrement particulier, ou pour conserver des informations utiles qui peuvent être stockées dans un chemin d’accès de fichier.

Retours

Type Description

MLTable instance

Remarques

from_delta_lake crée un objet MLTable qui définit les opérations de chargement des données du dossier delta lake dans une représentation tabulaire.

Pour que les données soient accessibles par Azure Machine Learning, le chemin doit pointer vers le répertoire de la table delta et les fichiers delta lake référencés doivent être accessibles par les services AzureML ou derrière des URL web publiques.

from_delta_lake prend en charge la lecture des données delta lake à partir d’un URI pointant vers : chemin local, Blob, ADLS Gen1 et ADLS Gen2

Les utilisateurs peuvent lire et matérialiser les données en appelant to_pandas_dataframe() sur le MLTable retourné


   # 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

Créez un MLTable à partir de la liste donnée de chemins de fichiers JSON.

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

Paramètres

Nom Description
paths
Obligatoire

Chemins d’accès prend en charge les fichiers ou dossiers avec des chemins d’accès locaux ou cloud. Les chemins d’accès aux fichiers locaux relatifs sont supposés être relatifs au répertoire de travail actuel. Si le répertoire parent auquel un chemin de fichier local est relatif n’est pas le répertoire de travail actuel, recommandez plutôt de passer ce chemin en tant que chemin d’accès de fichier absolu.

invalid_lines
Obligatoire
str

Comment gérer des lignes json non valides, qui peuvent être « drop » ou « error ». Si des lignes non valides sont supprimées, sinon l’erreur est déclenchée.

encoding
Obligatoire

Spécifie l’encodage de fichier à l’aide de l’énumération MLTableFileEncoding. Encodages de fichiers pris en charge :

  • utf8 en tant que « utf8 », « utf-8 », « utf-8 bom »
  • iso88591 en tant que « iso88591 » ou « iso-8859-1 »
  • latin1 comme « latin1 » ou « latin-1 »
  • utf16 en tant que « utf16 » ou « utf-16 »
  • windows1252 en tant que « windows1252 » ou « windows-1252 »
include_path_column
Obligatoire

Conservez les informations de chemin sous forme de colonne, utiles lors de la lecture de plusieurs fichiers et que vous souhaitez savoir de quel fichier provient un enregistrement particulier, ou pour conserver des informations utiles qui peuvent être stockées dans un chemin d’accès de fichier.

Retours

Type Description

MLTable

Remarques

Il doit y avoir un dictionnaire de chemins d’accès valide


   # 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

Créez le MLTable à partir de la liste donnée de fichiers parquet.

from_parquet_files(paths, include_path_column=False)

Paramètres

Nom Description
paths
Obligatoire

Chemins d’accès prend en charge les fichiers ou dossiers avec des chemins d’accès locaux ou cloud. Les chemins d’accès aux fichiers locaux relatifs sont supposés être relatifs au répertoire de travail actuel. Si le répertoire parent auquel un chemin de fichier local est relatif n’est pas le répertoire de travail actuel, recommandez plutôt de passer ce chemin en tant que chemin d’accès de fichier absolu.

include_path_column
Obligatoire

Conservez les informations de chemin sous forme de colonne, utiles lors de la lecture de plusieurs fichiers et que vous souhaitez savoir de quel fichier provient un enregistrement particulier, ou pour conserver des informations utiles qui peuvent être stockées dans un chemin d’accès de fichier.

Retours

Type Description

MLTable instance

Remarques

Il doit y avoir un dictionnaire de chemins d’accès valide


   # 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

Créez le MLTable à partir des chemins donnés.

from_paths(paths)

Paramètres

Nom Description
paths
Obligatoire

Chemins d’accès prend en charge les fichiers ou dossiers avec des chemins d’accès locaux ou cloud. Les chemins d’accès aux fichiers locaux relatifs sont supposés être relatifs au répertoire de travail actuel. Si le répertoire parent auquel un chemin de fichier local est relatif n’est pas le répertoire de travail actuel, recommandez plutôt de passer ce chemin en tant que chemin d’accès de fichier absolu.

Retours

Type Description

MLTable instance

Remarques

Il doit y avoir un dictionnaire de chemins d’accès valide


   # 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

Charge le fichier MLTable (YAML) présent à l’URI donné.

storage_options prend en charge les clés « abonnement », « resource_group », « espace de travail » ou « emplacement ». Tous doivent trouver un espace de travail Azure Machine Learning.

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

Paramètres

Nom Description
uri
Obligatoire
str

uri prend en charge l’URI de magasin de données long, l’URI de stockage, le chemin local ou l’URI de ressource de données ou l’URI court de ressource de données

storage_options
Obligatoire

Informations sur l’espace de travail AML lorsque l’URI est une ressource AML

ml_client
Obligatoire

Retours

Type Description

MLTable

Remarques

Un fichier YAML MLTable valide nommé « MLTable » doit être présent à l’URI donné.


   # 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)