TabularDatasetFactory Classe
Contiene metodi per creare un set di dati tabulare per Azure Machine Learning.
Un TabularDataset oggetto viene creato usando i from_*
metodi in questa classe, ad esempio il metodo from_delimited_files.
Per altre informazioni sull'uso di set di dati tabulari, vedere il notebook https://aka.ms/tabulardataset-samplenotebook.
- Ereditarietà
-
builtins.objectTabularDatasetFactory
Costruttore
TabularDatasetFactory()
Metodi
from_delimited_files |
Creare un tabulareDataset per rappresentare i dati tabulari nei file delimitati (e.g. CSV e TSV). |
from_json_lines_files |
Creare un TabularDataset per rappresentare i dati tabulari nei file di righe JSON (http://jsonlines.org/). |
from_parquet_files |
Creare un oggetto TabularDataset per rappresentare i dati tabulari nei file Parquet. |
from_sql_query |
Creare un oggetto TabularDataset per rappresentare i dati tabulari nei database SQL. |
register_dask_dataframe |
Nota Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental. Creare un set di dati da un dataframe dask. |
register_pandas_dataframe |
Creare un set di dati dal dataframe pandas. |
register_spark_dataframe |
Nota Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental. Creare un set di dati dal dataframe Spark. |
from_delimited_files
Creare un tabulareDataset per rappresentare i dati tabulari nei file delimitati (e.g. CSV e TSV).
static from_delimited_files(path, validate=True, include_path=False, infer_column_types=True, set_column_types=None, separator=',', header=True, partition_format=None, support_multi_line=False, empty_as_string=False, encoding='utf8')
Parametri
Percorso dei file di origine, che possono essere un singolo valore o un elenco di stringhe url (http[s]|abfs[s]|wasb[s]), DataPath oggetto o tuple di Datastore e percorso relativo. Si noti che l'elenco di percorsi non può includere sia url che archivi dati insieme.
- validate
- bool
Boolean per convalidare se i dati possono essere caricati dal set di dati restituito. Impostazione predefinita su True. La convalida richiede che l'origine dati sia accessibile dal calcolo corrente. Per disabilitare la convalida, è necessario impostare anche "infer_column_types" su False.
- include_path
- bool
Boolean per mantenere le informazioni sul percorso come colonna nel set di dati. Il valore predefinito è False. Questo è utile quando si legge più file e si vuole sapere quale file ha origine un determinato record o mantenere informazioni utili nel percorso file.
- infer_column_types
- bool
Boolean per dedurre i tipi di dati di colonna. Impostazione predefinita su True. L'inferenza dei tipi richiede che l'origine dati sia accessibile dal calcolo corrente. Attualmente l'inferenza dei tipi pullerà solo le prime 200 righe. Se i dati contengono più tipi di valore, è preferibile specificare il tipo desiderato come override tramite set_column_types argomento. Controllare la sezione Osservazioni per esempi di codice relativi all'set_column_types.
Un dizionario per impostare il tipo di dati della colonna, dove la chiave è il nome della colonna e il valore è DataType.
- header
- bool oppure PromoteHeadersBehavior
Controlla la modalità di promozione delle intestazioni di colonna durante la lettura dai file. Il valore predefinito è True per tutti i file con la stessa intestazione. I file verranno letti come senza intestazione Quando intestazione=False. È possibile specificare altre opzioni usando il valore enumerazione di PromoteHeadersBehavior.
- partition_format
- str
Specificare il formato di partizione del percorso. Il valore predefinito è Nessuna. Le informazioni di partizione di ogni percorso verranno estratte in colonne in base al formato specificato. La parte di formato '{column_name}' crea una colonna stringa e '{column_name:y/MM/dd/HH/mm/ss}' crea una colonna datetime, dove 'y', 'MM', 'dd', 'HH', 'mm' e 'ss' vengono usati per estrarre anno, mese, giorno, ora e secondo per il tipo datetime. Il formato deve iniziare dalla posizione della prima chiave di partizione fino alla fine del percorso del file. Ad esempio, dato il percorso '.. /Accounts/2019/01/01/data.csv' dove la partizione è in base al nome e all'ora del reparto, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' crea una colonna stringa 'Department' con il valore 'Accounts' e una colonna datetime 'PartitionDate' con il valore '2019-01-01'.
- support_multi_line
- bool
Per impostazione predefinita (support_multi_line=False), tutte le interruzioni di riga, incluse quelle in valori di campo virgolette, verranno interpretate come interruzioni di record. La lettura dei dati in questo modo è più veloce e più ottimizzata per l'esecuzione parallela in più core CPU. Tuttavia, può comportare la produzione in modo invisibile di più record con valori di campo non allineati. Questa opzione deve essere impostata su True quando i file delimitati sono noti per contenere interruzioni di riga virgolette.
Dato questo file csv come esempio, i dati verranno letti in modo diverso in base a support_multi_line.
A,B,C A1,B1,C1 A2,"B 2",C2
from azureml.core import Dataset, Datastore
from azureml.data.datapath import DataPath
# default behavior: support_multi_line=False
dataset = Dataset.Tabular.from_delimited_files(path=datastore_path)
print(dataset.to_pandas_dataframe())
# A B C
# 0 A1 B1 C1
# 1 A2 B None
# 2 2" C2 None
# to handle quoted line breaks
dataset = Dataset.Tabular.from_delimited_files(path=datastore_path,
support_multi_line=True)
print(dataset.to_pandas_dataframe())
# A B C
# 0 A1 B1 C1
# 1 A2 B\r\n2 C2
- empty_as_string
- bool
Specificare se i valori di campo vuoti devono essere caricati come stringhe vuote. Il valore predefinito (False) legge i valori di campo vuoti come null. Passando questo valore come True leggerà i valori di campo vuoti come stringhe vuote. Se i valori vengono convertiti in valori numerici o datetime, questo non ha effetto, poiché i valori vuoti verranno convertiti in valori Null.
- encoding
- str
Specificare la codifica del file. Le codifica supportate sono 'utf8', 'iso88591', 'latin1', 'ascii', 'utf16', 'utf32', 'utf8bom' e 'windows1252'
Restituisce
Restituisce un oggetto TabularDataset.
Tipo restituito
Commenti
from_delimited_files crea un oggetto di TabularDataset classe, che definisce le operazioni per caricare i dati da file delimitati in rappresentazione tabulare.
Affinché i dati siano accessibili da Azure Machine Learning, i file delimitati specificati in base al percorso devono trovarsi in Datastore o dietro url Web pubblici o URL di BLOB, ADLS Gen1 e ADLS Gen2. Il token AAD degli utenti verrà usato nel notebook o nel programma Python locale se chiama direttamente una di queste funzioni: FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files l'identità della destinazione di calcolo verrà usata nei processi inviati da Experiment.submit per l'autenticazione di accesso ai dati. Ulteriori informazioni: https://aka.ms/data-access
I tipi di dati di colonna vengono dedotti per impostazione predefinita dai dati nei file delimitati. Fornendo set_column_types verrà eseguito l'override del tipo di dati per le colonne specificate nel TabularDataset restituito.
from azureml.core import Dataset, Datastore
# create tabular dataset from a single file in datastore
datastore = Datastore.get(workspace, 'workspaceblobstore')
tabular_dataset_1 = Dataset.Tabular.from_delimited_files(path=(datastore,'weather/2018/11.csv'))
# create tabular dataset from a single directory in datastore
datastore = Datastore.get(workspace, 'workspaceblobstore')
tabular_dataset_2 = Dataset.Tabular.from_delimited_files(path=(datastore,'weather/'))
# create tabular dataset from all csv files in the directory
tabular_dataset_3 = Dataset.Tabular.from_delimited_files(path=(datastore,'weather/**/*.csv'))
# create tabular dataset from multiple paths
data_paths = [(datastore, 'weather/2018/11.csv'), (datastore, 'weather/2018/12.csv')]
tabular_dataset_4 = Dataset.Tabular.from_delimited_files(path=data_paths)
# create tabular dataset from url
tabular_dataset_5 = Dataset.Tabular.from_delimited_files(path='https://url/weather/2018/12.csv')
# use `set_column_types` to set column data types
from azureml.data import DataType
data_types = {
'ID': DataType.to_string(),
'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
'Count': DataType.to_long(),
'Latitude': DataType.to_float(),
'Found': DataType.to_bool()
}
web_path = [
'https://url/weather/2018/11.csv',
'https://url/weather/2018/12.csv'
]
tabular = Dataset.Tabular.from_delimited_files(path=web_path, set_column_types=data_types)
from_json_lines_files
Creare un TabularDataset per rappresentare i dati tabulari nei file di righe JSON (http://jsonlines.org/).
static from_json_lines_files(path, validate=True, include_path=False, set_column_types=None, partition_format=None, invalid_lines='error', encoding='utf8')
Parametri
Percorso dei file di origine, che possono essere un singolo valore o un elenco di stringhe url (http[s]|abfs[s]|wasb[s]), DataPath oggetto o tuple di Datastore e percorso relativo. Si noti che l'elenco di percorsi non può includere sia url che archivi dati insieme.
- validate
- bool
Boolean per convalidare se i dati possono essere caricati dal set di dati restituito. Impostazione predefinita su True. La convalida richiede che l'origine dati sia accessibile dal calcolo corrente.
- include_path
- bool
Boolean per mantenere le informazioni sul percorso come colonna nel set di dati. Il valore predefinito è False. Questo è utile quando si legge più file e si vuole sapere quale file ha origine un determinato record o mantenere informazioni utili nel percorso file.
Un dizionario per impostare il tipo di dati della colonna, dove la chiave è il nome della colonna e il valore è DataType
- partition_format
- str
Specificare il formato di partizione del percorso. Il valore predefinito è Nessuna. Le informazioni di partizione di ogni percorso verranno estratte in colonne in base al formato specificato. La parte di formato '{column_name}' crea una colonna stringa e '{column_name:y/MM/dd/HH/mm/ss}' crea una colonna datetime, dove 'y', 'MM', 'dd', 'HH', 'mm' e 'ss' vengono usati per estrarre anno, mese, giorno, ora e secondo per il tipo datetime. Il formato deve iniziare dalla posizione della prima chiave di partizione fino alla fine del percorso del file. Ad esempio, dato il percorso '.. /Accounts/2019/01/01/data.jsonl' in cui la partizione è in base al nome e all'ora del reparto, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.jsonl' crea una colonna stringa 'Department' con il valore 'Accounts' e una colonna datetime 'PartitionDate' con il valore '2019-01-01'.
- invalid_lines
- str
Come gestire le righe che non sono JSON non valide. I valori supportati sono 'error' e 'drop'.
- encoding
- str
Specificare la codifica del file. Le codifica supportate sono 'utf8', 'iso88591', 'latin1', 'ascii', 'utf16', 'utf32', 'utf8bom' e 'windows1252'
Restituisce
Restituisce un oggetto TabularDataset.
Tipo restituito
Commenti
from_json_lines_files crea un oggetto di TabularDataset classe, che definisce le operazioni per caricare i dati dai file di linee JSON nella rappresentazione tabulare.
Affinché i dati siano accessibili da Azure Machine Learning, i file di linee JSON specificati per percorso devono trovarsi in Datastore o dietro url Web pubblici o URL di BLOB, ADLS Gen1 e ADLS Gen2. Il token AAD degli utenti verrà usato nel notebook o nel programma Python locale se chiama direttamente una di queste funzioni: FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files l'identità della destinazione di calcolo verrà usata nei processi inviati da Experiment.submit per l'autenticazione di accesso ai dati. Ulteriori informazioni: https://aka.ms/data-access
I tipi di dati di colonna vengono letti dai tipi di dati salvati nei file di linee JSON. Fornendo set_column_types verrà eseguito l'override del tipo di dati per le colonne specificate nel TabularDataset restituito.
from azureml.core import Dataset, Datastore
# create tabular dataset from a single file in datastore
datastore = Datastore.get(workspace, 'workspaceblobstore')
tabular_dataset_1 = Dataset.Tabular.from_json_lines_files(path=(datastore,'weather/2018/11.jsonl'))
# create tabular dataset from a single directory in datastore
datastore = Datastore.get(workspace, 'workspaceblobstore')
tabular_dataset_2 = Dataset.Tabular.from_json_lines_files(path=(datastore,'weather/'))
# create tabular dataset from all jsonl files in the directory
tabular_dataset_3 = Dataset.Tabular.from_json_lines_files(path=(datastore,'weather/**/*.jsonl'))
# create tabular dataset from multiple paths
data_paths = [(datastore, 'weather/2018/11.jsonl'), (datastore, 'weather/2018/12.jsonl')]
tabular_dataset_4 = Dataset.Tabular.from_json_lines_files(path=data_paths)
# create tabular dataset from url
tabular_dataset_5 = Dataset.Tabular.from_json_lines_files(path='https://url/weather/2018/12.jsonl')
# use `set_column_types` to set column data types
from azureml.data import DataType
data_types = {
'ID': DataType.to_string(),
'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
'Count': DataType.to_long(),
'Latitude': DataType.to_float(),
'Found': DataType.to_bool()
}
web_path = [
'https://url/weather/2018/11.jsonl',
'https://url/weather/2018/12.jsonl'
]
tabular = Dataset.Tabular.from_json_lines_files(path=web_path, set_column_types=data_types)
from_parquet_files
Creare un oggetto TabularDataset per rappresentare i dati tabulari nei file Parquet.
static from_parquet_files(path, validate=True, include_path=False, set_column_types=None, partition_format=None)
Parametri
Percorso dei file di origine, che possono essere un singolo valore o un elenco di stringhe url (http[s]|abfs[s]|wasb[s]), DataPath oggetto o tuple di Datastore e percorso relativo. Si noti che l'elenco di percorsi non può includere sia url che archivi dati insieme.
- validate
- bool
Boolean per convalidare se i dati possono essere caricati dal set di dati restituito. Impostazione predefinita su True. La convalida richiede che l'origine dati sia accessibile dal calcolo corrente.
- include_path
- bool
Boolean per mantenere le informazioni sul percorso come colonna nel set di dati. Il valore predefinito è False. Questo è utile quando si legge più file e si vuole sapere quale file ha origine un determinato record o mantenere informazioni utili nel percorso file.
Un dizionario per impostare il tipo di dati della colonna, dove la chiave è il nome della colonna e il valore è DataType.
- partition_format
- str
Specificare il formato di partizione del percorso. Il valore predefinito è Nessuna. Le informazioni di partizione di ogni percorso verranno estratte in colonne in base al formato specificato. La parte di formato '{column_name}' crea una colonna stringa e '{column_name:y/MM/dd/HH/mm/ss}' crea una colonna datetime, dove 'y', 'MM', 'dd', 'HH', 'mm' e 'ss' vengono usati per estrarre anno, mese, giorno, ora e secondo per il tipo datetime. Il formato deve iniziare dalla posizione della prima chiave di partizione fino alla fine del percorso del file. Ad esempio, dato il percorso '.. /Accounts/2019/01/01/data.parquet' dove la partizione è in base al nome e all'ora del reparto, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.parquet' crea una colonna stringa 'Department' con il valore 'Accounts' e una colonna datetime 'PartitionDate' con il valore '2019-01-01'.
Restituisce
Restituisce un oggetto TabularDataset.
Tipo restituito
Commenti
from_parquet_files crea un oggetto di TabularDataset classe, che definisce le operazioni per caricare i dati dai file Parquet nella rappresentazione tabulare.
Affinché i dati siano accessibili da Azure Machine Learning, i file Parquet specificati per percorso devono trovarsi in Datastore o dietro url Web pubblici o URL di BLOB, ADLS Gen1 e ADLS Gen2. Il token AAD degli utenti verrà usato nel notebook o nel programma Python locale se chiama direttamente una di queste funzioni: FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files l'identità della destinazione di calcolo verrà usata nei processi inviati da Experiment.submit per l'autenticazione di accesso ai dati. Ulteriori informazioni: https://aka.ms/data-access
I tipi di dati delle colonne vengono letti dai tipi di dati salvati nei file Parquet. Se si specifica set_column_types verrà eseguito l'override del tipo di dati per le colonne specificate nell'oggetto TabularDataset restituito.
# create tabular dataset from a single file in datastore
datastore = Datastore.get(workspace, 'workspaceblobstore')
tabular_dataset_1 = Dataset.Tabular.from_parquet_files(path=(datastore,'weather/2018/11.parquet'))
# create tabular dataset from a single directory in datastore
datastore = Datastore.get(workspace, 'workspaceblobstore')
tabular_dataset_2 = Dataset.Tabular.from_parquet_files(path=(datastore,'weather/'))
# create tabular dataset from all parquet files in the directory
tabular_dataset_3 = Dataset.Tabular.from_parquet_files(path=(datastore,'weather/**/*.parquet'))
# create tabular dataset from multiple paths
data_paths = [(datastore, 'weather/2018/11.parquet'), (datastore, 'weather/2018/12.parquet')]
tabular_dataset_4 = Dataset.Tabular.from_parquet_files(path=data_paths)
# create tabular dataset from url
tabular_dataset_5 = Dataset.Tabular.from_parquet_files(path='https://url/weather/2018/12.parquet')
# use `set_column_types` to set column data types
from azureml.data import DataType
data_types = {
'ID': DataType.to_string(),
'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
'Count': DataType.to_long(),
'Latitude': DataType.to_float(),
'Found': DataType.to_bool()
}
web_path = [
'https://url/weather/2018/11.parquet',
'https://url/weather/2018/12.parquet'
]
tabular = Dataset.Tabular.from_parquet_files(path=web_path, set_column_types=data_types)
from_sql_query
Creare un oggetto TabularDataset per rappresentare i dati tabulari nei database SQL.
static from_sql_query(query, validate=True, set_column_types=None, query_timeout=30)
Parametri
- validate
- bool
Valore booleano da convalidare se i dati possono essere caricati dal set di dati restituito. Il valore predefinito è True. La convalida richiede che l'origine dati sia accessibile dal calcolo corrente.
Dizionario per impostare il tipo di dati della colonna, dove chiave è il nome della colonna e il valore è DataType.
- query_timeout
Imposta il tempo di attesa (in secondi) prima di terminare il tentativo di eseguire un comando e generare un errore. Il valore predefinito è 30 secondi.
Restituisce
Restituisce un oggetto TabularDataset.
Tipo restituito
Commenti
from_sql_query crea un oggetto di TabularDataset classe, che definisce le operazioni per caricare i dati dai database SQL in rappresentazione tabulare. Attualmente è supportato solo MSSQLDataSource.
Affinché i dati siano accessibili da Azure Machine Learning, il database SQL specificato da query
deve trovarsi in Datastore e il tipo di archivio dati deve essere di tipo SQL.
I tipi di dati delle colonne vengono letti dai tipi di dati nel risultato della query SQL. Se si specifica set_column_types
, verrà eseguito l'override del tipo di dati per le colonne specificate nell'oggetto TabularDataset restituito.
from azureml.core import Dataset, Datastore
from azureml.data.datapath import DataPath
# create tabular dataset from a SQL database in datastore
datastore = Datastore.get(workspace, 'mssql')
query = DataPath(datastore, 'SELECT * FROM my_table')
tabular = Dataset.Tabular.from_sql_query(query, query_timeout=10)
df = tabular.to_pandas_dataframe()
# use `set_column_types` to set column data types
from azureml.data import DataType
data_types = {
'ID': DataType.to_string(),
'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
'Count': DataType.to_long(),
'Latitude': DataType.to_float(),
'Found': DataType.to_bool()
}
tabular = Dataset.Tabular.from_sql_query(query, set_column_types=data_types)
register_dask_dataframe
Nota
Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental.
Creare un set di dati da un dataframe dask.
static register_dask_dataframe(dataframe, target, name, description=None, tags=None, show_progress=True)
Parametri
- dataframe
- <xref:dask.dataframe.core.DataFrame>
Dataframe dask obbligatorio da caricare.
Obbligatorio, percorso dell'archivio dati in cui verranno caricati i dati parquet del dataframe. Verrà generata una cartella GUID nel percorso di destinazione per evitare conflitti.
- description
- str
facoltativo. Descrizione testuale del set di dati. Il valore predefinito è Nessuno.
facoltativo. Dizionario dei tag chiave-valore per assegnare il set di dati. Il valore predefinito è Nessuno.
- show_progress
- bool
Facoltativo, indica se visualizzare lo stato di avanzamento del caricamento nella console. Il valore predefinito è True.
Restituisce
Set di dati registrato.
Tipo restituito
register_pandas_dataframe
Creare un set di dati dal dataframe pandas.
static register_pandas_dataframe(dataframe, target, name, description=None, tags=None, show_progress=True, row_group_size=None, make_target_path_unique=True)
Parametri
Obbligatorio, percorso dell'archivio dati in cui verranno caricati i dati parquet del dataframe. Verrà generata una cartella GUID nel percorso di destinazione per evitare conflitti.
- description
- int
facoltativo. Descrizione testuale del set di dati. Il valore predefinito è Nessuno.
facoltativo. Dizionario dei tag chiave-valore per assegnare il set di dati. Il valore predefinito è Nessuno.
- show_progress
- bool
Facoltativo, indica se visualizzare lo stato di avanzamento del caricamento nella console. Il valore predefinito è True.
- row_group_size
facoltativo. Dimensioni massime del gruppo di righe da utilizzare per la scrittura di file Parquet. Il valore predefinito è Nessuno.
- make_target_path_unique
Facoltativo, indica se è necessario creare una sottocartella univoca nella destinazione. Il valore predefinito è True.
Restituisce
Set di dati registrato.
Tipo restituito
register_spark_dataframe
Nota
Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental.
Creare un set di dati dal dataframe Spark.
static register_spark_dataframe(dataframe, target, name, description=None, tags=None, show_progress=True)
Parametri
Obbligatorio, percorso dell'archivio dati in cui verranno caricati i dati parquet del dataframe. Verrà generata una cartella GUID nel percorso di destinazione per evitare conflitti.
- description
- str
facoltativo. Descrizione testuale del set di dati. Il valore predefinito è Nessuno.
facoltativo. Dizionario dei tag chiave-valore per assegnare il set di dati. Il valore predefinito è Nessuno.
- show_progress
- bool
Facoltativo, indica se visualizzare lo stato di avanzamento del caricamento nella console. Il valore predefinito è True.
Restituisce
Set di dati registrato.
Tipo restituito
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per