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
Nome | Descrizione |
---|---|
path
Necessario
|
|
validate
Necessario
|
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
Necessario
|
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
Necessario
|
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. |
set_column_types
Necessario
|
Un dizionario per impostare il tipo di dati della colonna, dove la chiave è il nome della colonna e il valore è DataType. |
separator
Necessario
|
Separatore usato per dividere le colonne. |
header
Necessario
|
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
Necessario
|
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
Necessario
|
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
|
empty_as_string
Necessario
|
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
Necessario
|
Specificare la codifica del file. Le codifica supportate sono 'utf8', 'iso88591', 'latin1', 'ascii', 'utf16', 'utf32', 'utf8bom' e 'windows1252' |
Restituisce
Tipo | Descrizione |
---|---|
Restituisce un oggetto TabularDataset. |
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
Nome | Descrizione |
---|---|
path
Necessario
|
|
validate
Necessario
|
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
Necessario
|
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. |
set_column_types
Necessario
|
Un dizionario per impostare il tipo di dati della colonna, dove la chiave è il nome della colonna e il valore è DataType |
partition_format
Necessario
|
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
Necessario
|
Come gestire le righe che non sono JSON non valide. I valori supportati sono 'error' e 'drop'. |
encoding
Necessario
|
Specificare la codifica del file. Le codifica supportate sono 'utf8', 'iso88591', 'latin1', 'ascii', 'utf16', 'utf32', 'utf8bom' e 'windows1252' |
Restituisce
Tipo | Descrizione |
---|---|
Restituisce un oggetto TabularDataset. |
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
Nome | Descrizione |
---|---|
path
Necessario
|
|
validate
Necessario
|
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
Necessario
|
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. |
set_column_types
Necessario
|
Un dizionario per impostare il tipo di dati della colonna, dove la chiave è il nome della colonna e il valore è DataType. |
partition_format
Necessario
|
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
Tipo | Descrizione |
---|---|
Restituisce un oggetto TabularDataset. |
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
Nome | Descrizione |
---|---|
query
Necessario
|
Un archivio dati di tipo SQL e una query. |
validate
Necessario
|
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. |
set_column_types
Necessario
|
Dizionario per impostare il tipo di dati della colonna, dove chiave è il nome della colonna e il valore è DataType. |
query_timeout
Necessario
|
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
Tipo | Descrizione |
---|---|
Restituisce un oggetto TabularDataset. |
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
Nome | Descrizione |
---|---|
dataframe
Necessario
|
<xref:dask.dataframe.core.DataFrame>
Dataframe dask obbligatorio da caricare. |
target
Necessario
|
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. |
name
Necessario
|
Obbligatorio, nome del set di dati registrato. |
description
Necessario
|
facoltativo. Descrizione testuale del set di dati. Il valore predefinito è Nessuno. |
tags
Necessario
|
facoltativo. Dizionario dei tag chiave-valore per assegnare il set di dati. Il valore predefinito è Nessuno. |
show_progress
Necessario
|
Facoltativo, indica se visualizzare lo stato di avanzamento del caricamento nella console. Il valore predefinito è True. |
Restituisce
Tipo | Descrizione |
---|---|
Set di dati registrato. |
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
Nome | Descrizione |
---|---|
dataframe
Necessario
|
Obbligatorio, nel dataframe di memoria da caricare. |
target
Necessario
|
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. |
name
Necessario
|
Obbligatorio, nome del set di dati registrato. |
description
Necessario
|
facoltativo. Descrizione testuale del set di dati. Il valore predefinito è Nessuno. |
tags
Necessario
|
facoltativo. Dizionario dei tag chiave-valore per assegnare il set di dati. Il valore predefinito è Nessuno. |
show_progress
Necessario
|
Facoltativo, indica se visualizzare lo stato di avanzamento del caricamento nella console. Il valore predefinito è True. |
row_group_size
Necessario
|
facoltativo. Dimensioni massime del gruppo di righe da utilizzare per la scrittura di file Parquet. Il valore predefinito è Nessuno. |
make_target_path_unique
Necessario
|
Facoltativo, indica se è necessario creare una sottocartella univoca nella destinazione. Il valore predefinito è True. |
Restituisce
Tipo | Descrizione |
---|---|
Set di dati registrato. |
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
Nome | Descrizione |
---|---|
dataframe
Necessario
|
Obbligatorio, nel dataframe di memoria da caricare. |
target
Necessario
|
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. |
name
Necessario
|
Obbligatorio, nome del set di dati registrato. |
description
Necessario
|
facoltativo. Descrizione testuale del set di dati. Il valore predefinito è Nessuno. |
tags
Necessario
|
facoltativo. Dizionario dei tag chiave-valore per assegnare il set di dati. Il valore predefinito è Nessuno. |
show_progress
Necessario
|
Facoltativo, indica se visualizzare lo stato di avanzamento del caricamento nella console. Il valore predefinito è True. |
Restituisce
Tipo | Descrizione |
---|---|
Set di dati registrato. |