mltable Modul

Enthält Funktionen zum Erstellen und Interagieren mit MLTable-Objekten

Klassen

DataType

Hilfsklasse zum Behandeln der korrekten Bearbeitung unterstützter Spaltentypen (int, bool, string usw.). Derzeit wird mit MLTable.convert_column_types(...) & from_delimited_files(...) verwendet, um anzugeben, in welche Typen Spalten konvertiert werden sollen. Mit DataType.from_(...) werden verschiedene Typen ausgewählt. *Methoden.

MLTable

Stellt eine MLTable dar.

Eine MLTable definiert eine Reihe von verzögert ausgewerteten, unveränderlichen Vorgängen zum Laden von Daten aus der Datenquelle. Daten werden erst aus der Quelle geladen, wenn MLTable aufgefordert wird, Daten zu übermitteln.

Initialisieren Sie eine neue MLTable.

Dieser Konstruktor sollte nicht direkt aufgerufen werden. MLTable soll mit loaderstellt werden.

Metadata

Klasse, die dem Metadatenabschnitt der MLTable zugeordnet ist.

Unterstützt das Abrufen & Hinzufügen von arbriträren Metadateneigenschaften.

Traits

Klasse, die dem Abschnitt "Merkmale" der MLTable zugeordnet ist.

Derzeit unterstützte Merkmale: timestamp_column und index_columns

Enumerationen

MLTableFileEncoding

Definiert Optionen für die Verarbeitung der Codierung beim Lesen von Daten aus Dateien, um eine MLTable zu erstellen.

Diese Enumerationswerte werden in der MLTable-Klasse verwendet.

MLTableHeaders

Definiert Optionen für die Verarbeitung von Spaltenüberschriften beim Lesen von Daten aus Dateien, um eine MLTable zu erstellen.

Diese Enumerationswerte werden in der MLTable-Klasse verwendet.

MLTablePartitionSize

Hilfsenume, die den Speicher darstellt, der zum Lesen verschiedener Partitionen für ausgewählte Dateiformate in verschiedenen Speichereinheiten zugeordnet ist. Wird derzeit beim Lesen von dateien mit Trennzeichen oder JSON-Zeilen verwendet.

Unterstützt Bytes, Kilobytes, Megabytes und Gigabyte als Arbeitsspeichereinheiten – in binär.

MLTableSaveOverwriteOption

Definiert Optionen zum Behandeln von Dateikonflikten in MLTable.save().. EIther löst einen Fehler aus, wenn ein Konflikt auftritt, überschreibt die vorhandene Datei mit der neuen Datei, oder belassen Sie die vorhandene Datei unverändert.

Functions

from_delimited_files

Erstellt eine MLTable aus der angegebenen Liste der durch Trennzeichen getrennten Dateien.

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)

Parameter

paths
list[dict[str, str]]
Erforderlich

Pfade unterstützen Dateien oder Ordner mit lokalen oder Cloudpfaden. Es wird davon ausgegangen, dass relative lokale Dateipfade relativ zum aktuellen Arbeitsverzeichnis sind. Wenn das übergeordnete Verzeichnis, zu dem ein lokaler Dateipfad relativ ist, nicht das aktuelle Arbeitsverzeichnis ist, empfiehlt es sich stattdessen, diesen Pfad als absoluten Dateipfad zu übergeben.

header
Union[str, MLTableHeaders]
Erforderlich

Wie Spaltenüberschriften beim Lesen aus Dateien behandelt werden. Optionen, die mithilfe der Enumeration MLTableHeadersangegeben werden. Unterstützte Header sind "no_header", "from_first_file", "all_files_different_headers" und "all_files_same_headers".

delimiter
str
Erforderlich

Trennzeichen, das zum Aufteilen von Spalten verwendet wird

support_multi_line
bool
Erforderlich

Bei False werden alle Zeilenumbrüche, einschließlich der zeilenumbrüche in Anführungszeichen, als Datensatzumbruch interpretiert. Das Lesen von Daten auf diese Weise ist schneller und für die parallele Ausführung auf mehreren CPU-Kernen optimiert. Es kann jedoch dazu führen, dass im Hintergrund mehr Datensätze mit falsch ausgerichteten Feldwerten erzeugt werden. Dieser sollte auf „True“ festgelegt werden, wenn bekannt ist, dass die durch Trennzeichen getrennten Dateien Zeilenumbrüche in Anführungszeichen enthalten.

Anhand dieser CSV-Datei als Beispiel werden die Daten basierend auf „support_multi_line“ unterschiedlich gelesen.

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
bool
Erforderlich

Wie leere Felder behandelt werden sollen. Wenn True leere Felder als leere Zeichenfolgen liest, andernfalls als NULL-Werte. Wenn True und spalte datetime- oder numerische Daten enthalten, werden leere Felder weiterhin als NULL gelesen.

encoding
Union[str, MLTableFileEncoding]
Erforderlich

Gibt die Dateicodierung mithilfe der Enumeration MLTableFileEncodingan. Unterstützte Codierungen sind:

  • utf8 as "utf8", "utf-8", "utf-8 bom"
  • iso88591 als "iso88591" oder "iso-8859-1"
  • latin1 als "latin1" oder "latin-1"
  • utf16 als "utf16" oder "utf-16"
  • windows1252 als "windows1252" oder "windows-1252"
include_path_column
bool
Erforderlich

Speichern Sie Pfadinformationen als Spalte in der MLTable, ist nützlich, wenn Sie mehrere Dateien lesen und wissen möchten, aus welcher Datei ein bestimmter Datensatz stammt, oder um nützliche Informationen beizubehalten, die möglicherweise in einem Dateipfad gespeichert werden.

infer_column_types
Union[bool, dict[str, Union[str, dict[Union[Tuple[str], str], DataType]]]
Erforderlich

Wenn True, wird automatisch alle Spaltentypen abgeleitet. Wenn False, belässt Spalten als Zeichenfolgen. Wenn ein Wörterbuch, stellt Spalten dar, deren Typen auf bestimmte Typen festgelegt werden sollen (wobei alle anderen Spalten abgeleitet werden). Das Wörterbuch kann einen Schlüssel mit dem Namen sample_size enthalten, der einer positiven ganzzahligen Zahl zugeordnet ist und die Anzahl der Zeilen darstellt, die zum Ableiten von Spaltentypen verwendet werden sollen. Das Wörterbuch kann auch einen Schlüssel namens "column_type_overrides" enthalten. Jeder Schlüssel im Wörterbuch ist entweder eine Zeichenfolge, die einen Spaltennamen darstellt, oder ein Tupel von Zeichenfolgen, das eine Gruppe von Spaltennamen darstellt. Jeder Wert ist entweder eine Zeichenfolge (eine von "boolean", "string", "float" oder "int") oder ein DataType. mltable. DataType.to_stream() wird nicht unterstützt. Wenn ein leeres Wörterbuch angegeben wird, wird angenommen, dass true ist. Der Standardwert ist „True“.

Ein Beispiel für das Formatieren von 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()
       }
   })

Gibt zurück

MLTable

Rückgabetyp

Hinweise

Es muss eine gültige Pfadzeichenfolge vorhanden sein.


   # 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

Erstellt ein MLTable-Objekt zum Lesen in Parquet-Dateien aus der Delta Lake-Tabelle.

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

Parameter

delta_table_uri
str
Erforderlich

URI, der auf das Verzeichnis der Deltatabelle zeigt, das die zu lesenden Delta Lake-Parquet-Dateien enthält. Unterstützte URI-Typen sind: lokaler Pfad-URI, Speicher-URI, Langform-Datenspeicher-URI oder Datenasset-URI.

timestamp_as_of
string
Erforderlich

datetime-Zeichenfolge im RFC-3339/ISO-8601-Format, das zum Lesen von übereinstimmenden Parquet-Dateien aus einem bestimmten Zeitpunkt verwendet werden soll. ex) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00+08:00", "2022-10-01T01:30:00-08:00"

version_as_of
int
Erforderlich

ganzzahlige Version, die zum Lesen in einer bestimmten Version von Parquet-Dateien verwendet werden soll.

include_path_column
bool
Erforderlich

Behalten Sie Pfadinformationen als Spalte bei, die beim Lesen mehrerer Dateien nützlich sind und Sie wissen möchten, aus welcher Datei ein bestimmter Datensatz stammt, oder nützliche Informationen behalten, die möglicherweise in einem Dateipfad gespeichert werden.

Gibt zurück

MLTable-instance

Rückgabetyp

Hinweise

from_delta_lake erstellt ein MLTable-Objekt, das die Vorgänge zum Laden von Daten aus dem Delta Lake-Ordner in eine tabellarische Darstellung definiert.

Damit Azure Machine Learning auf die Daten zugreifen kann, muss der Pfad auf das Verzeichnis der Deltatabelle verweisen, und auf die Delta Lake-Dateien, auf die verwiesen wird, muss von AzureML-Diensten oder hinter öffentlichen Web-URLs zugegriffen werden können.

from_delta_lake unterstützt das Lesen von Delta Lake-Daten aus einem URI, der auf lokalen Pfad, Blob, ADLS Gen1 und ADLS Gen2 verweist.

Benutzer können die Daten einlesen und materialisieren, indem sie to_pandas_dataframe() für die zurückgegebene MLTable aufrufen.


   # 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

Erstellen Sie eine MLTable aus der angegebenen Liste der JSON-Dateipfade.

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

Parameter

paths
list[dict[str, str]]
Erforderlich

Pfade unterstützen Dateien oder Ordner mit lokalen oder Cloudpfaden. Es wird davon ausgegangen, dass relative lokale Dateipfade relativ zum aktuellen Arbeitsverzeichnis sind. Wenn das übergeordnete Verzeichnis, zu dem ein lokaler Dateipfad relativ ist, nicht das aktuelle Arbeitsverzeichnis ist, empfiehlt es sich stattdessen, diesen Pfad als absoluten Dateipfad zu übergeben.

invalid_lines
str
Erforderlich

Wie Zeilen behandelt werden, die ungültige JSON-Dateien sind, kann "drop" oder "error" sein. Wenn ungültige Zeilen gelöscht werden, wird andernfalls ein Fehler ausgelöst.

encoding
Union[str, MLTableFileEncoding]
Erforderlich

Gibt die Dateicodierung mithilfe der Enumeration MLTableFileEncodingan. Unterstützte Dateicodierungen:

  • utf8 as "utf8", "utf-8", "utf-8 bom"
  • iso88591 als "iso88591" oder "iso-8859-1"
  • latin1 als "latin1" oder "latin-1"
  • utf16 als "utf16" oder "utf-16"
  • windows1252 als "windows1252" oder "windows-1252"
include_path_column
bool
Erforderlich

Behalten Sie Pfadinformationen als Spalte bei, die beim Lesen mehrerer Dateien nützlich sind und Sie wissen möchten, aus welcher Datei ein bestimmter Datensatz stammt, oder nützliche Informationen behalten, die möglicherweise in einem Dateipfad gespeichert werden.

Gibt zurück

MLTable

Rückgabetyp

Hinweise

Es muss ein gültiges Pfadwörterbuch vorhanden sein.


   # 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

Erstellen Sie die MLTable aus der angegebenen Liste der Parquet-Dateien.

from_parquet_files(paths, include_path_column=False)

Parameter

paths
list[dict[str, str]]
Erforderlich

Pfade unterstützen Dateien oder Ordner mit lokalen oder Cloudpfaden. Es wird davon ausgegangen, dass relative lokale Dateipfade relativ zum aktuellen Arbeitsverzeichnis sind. Wenn das übergeordnete Verzeichnis, zu dem ein lokaler Dateipfad relativ ist, nicht das aktuelle Arbeitsverzeichnis ist, empfiehlt es sich stattdessen, diesen Pfad als absoluten Dateipfad zu übergeben.

include_path_column
bool
Erforderlich

Behalten Sie Pfadinformationen als Spalte bei, die beim Lesen mehrerer Dateien nützlich sind und Sie wissen möchten, aus welcher Datei ein bestimmter Datensatz stammt, oder nützliche Informationen behalten, die möglicherweise in einem Dateipfad gespeichert werden.

Gibt zurück

MLTable-instance

Rückgabetyp

Hinweise

Es muss ein gültiges Pfadwörterbuch vorhanden sein.


   # 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

Erstellen Sie die MLTable aus den angegebenen Pfaden.

from_paths(paths)

Parameter

paths
list[dict[str, str]]
Erforderlich

Pfade unterstützen Dateien oder Ordner mit lokalen oder Cloudpfaden. Es wird davon ausgegangen, dass relative lokale Dateipfade relativ zum aktuellen Arbeitsverzeichnis sind. Wenn das übergeordnete Verzeichnis, zu dem ein lokaler Dateipfad relativ ist, nicht das aktuelle Arbeitsverzeichnis ist, empfiehlt es sich stattdessen, diesen Pfad als absoluten Dateipfad zu übergeben.

Gibt zurück

MLTable-instance

Rückgabetyp

Hinweise

Es muss ein gültiges Pfadwörterbuch vorhanden sein.


   # 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

Lädt die MLTable-Datei (YAML), die am angegebenen URI vorhanden ist.

storage_options unterstützt Die Schlüssel "Abonnement", "resource_group", "Arbeitsbereich" oder "Standort". Alle müssen einen Azure Machine Learning-Arbeitsbereich finden.

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

Parameter

uri
str
Erforderlich

URI unterstützt langformige Datenspeicher-URI, Speicher-URI, lokaler Pfad oder Datenressourcen-URI oder Kurz-URI des Datenobjekts.

storage_options
dict[str, str]
Erforderlich

AML-Arbeitsbereichsinformationen, wenn der URI ein AML-Medienobjekt ist

Gibt zurück

MLTable

Rückgabetyp

Hinweise

Am angegebenen URI muss eine gültige MLTable-YAML-Datei namens "MLTable" vorhanden sein.


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