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
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]
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".
- support_multi_line
- bool
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
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]
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
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.
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
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
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
ganzzahlige Version, die zum Lesen in einer bestimmten Version von Parquet-Dateien verwendet werden soll.
- include_path_column
- bool
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
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
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]
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
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
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
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
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
URI unterstützt langformige Datenspeicher-URI, Speicher-URI, lokaler Pfad oder Datenressourcen-URI oder Kurz-URI des Datenobjekts.
AML-Arbeitsbereichsinformationen, wenn der URI ein AML-Medienobjekt ist
- ml_client
- MLClient
MLClient instance. Weitere Informationen: https://learn.microsoft.com/en-us/python/api/azure-ai-ml/azure.ai.ml.mlclient?view=azure-python
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)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für