TabularDatasetFactory Klass
Innehåller metoder för att skapa en tabelldatauppsättning för Azure Machine Learning.
En TabularDataset skapas med hjälp av metoderna i den from_*
här klassen, till exempel metoden from_delimited_files.
Mer information om hur du arbetar med tabelldatauppsättningar finns i notebook-filen https://aka.ms/tabulardataset-samplenotebook.
- Arv
-
builtins.objectTabularDatasetFactory
Konstruktor
TabularDatasetFactory()
Metoder
from_delimited_files |
Skapa en TabularDataset som representerar tabelldata i avgränsade filer (e.g. CSV och TSV). |
from_json_lines_files |
Skapa en TabularDataset som representerar tabelldata i JSON Lines-filer (http://jsonlines.org/). |
from_parquet_files |
Skapa en TabularDataset som representerar tabelldata i Parquet-filer. |
from_sql_query |
Skapa en TabularDataset som representerar tabelldata i SQL-databaser. |
register_dask_dataframe |
Anteckning Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental. Skapa en datauppsättning från dask dataframe. |
register_pandas_dataframe |
Skapa en datauppsättning från Pandas-dataramen. |
register_spark_dataframe |
Anteckning Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental. Skapa en datauppsättning från Spark-dataramen. |
from_delimited_files
Skapa en TabularDataset som representerar tabelldata i avgränsade filer (e.g. CSV och 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')
Parametrar
Name | Description |
---|---|
path
Obligatorisk
|
|
validate
Obligatorisk
|
Booleskt värde för att verifiera om data kan läsas in från den returnerade datauppsättningen. Standardvärdet är True. Verifieringen kräver att datakällan är tillgänglig från den aktuella beräkningen. Om du vill inaktivera verifieringen måste "infer_column_types" också anges till Falskt. |
include_path
Obligatorisk
|
Booleskt värde för att behålla sökvägsinformation som kolumn i datauppsättningen. Standardvärdet är False. Detta är användbart när du läser flera filer och vill veta vilken fil en viss post kommer från, eller för att behålla användbar information i filsökvägen. |
infer_column_types
Obligatorisk
|
Booleskt värde för att härleda kolumndatatyper. Standardvärdet är True. Typinferens kräver att datakällan är tillgänglig från den aktuella beräkningen. För närvarande hämtar typinferens endast de första 200 raderna. Om data innehåller flera typer av värden är det bättre att ange önskad typ som en åsidosättning via set_column_types argument. I avsnittet Kommentarer finns kodexempel om set_column_types. |
set_column_types
Obligatorisk
|
En ordlista för att ange kolumndatatyp, där nyckeln är kolumnnamn och värde är DataType. |
separator
Obligatorisk
|
Avgränsaren som används för att dela kolumner. |
header
Obligatorisk
|
bool eller
PromoteHeadersBehavior
Styr hur kolumnrubriker höjs upp när du läser från filer. Standardvärdet är True för alla filer som har samma rubrik. Filer kommer att läsas utan rubrik När rubrik = Falskt. Fler alternativ kan anges med uppräkningsvärdet PromoteHeadersBehavior. |
partition_format
Obligatorisk
|
Ange partitionsformatet för sökvägen. Standardvärdet är Ingen. Partitionsinformationen för varje sökväg extraheras till kolumner baserat på det angivna formatet. Formatdelen {column_name} skapar strängkolumnen och {column_name:åååå/MM/dd/HH/mm/ss} skapar datetime-kolumnen, där "åå", "MM", "dd", "HH", "mm" och "ss" används för att extrahera år, månad, dag, timme, minut och sekund för datetime-typen. Formatet bör börja från positionen för den första partitionsnyckeln till slutet av filsökvägen. Till exempel med tanke på sökvägen .. /Accounts/2019/01/01/data.csv" där partitionen är efter avdelningsnamn och tid, partition_format='/{Avdelning}/{PartitionDate:yyyy/MM/dd}/data.csv' skapar en strängkolumn 'Avdelning' med värdet 'Konton' och en datetime-kolumn 'PartitionDate' med värdet '2019-01-01'. |
support_multi_line
Obligatorisk
|
Som standard (support_multi_line=Falskt) tolkas alla radbrytningar, inklusive radbrytningar i värden i citerade fält, som en postbrytning. Att läsa data på det här sättet är snabbare och mer optimerat för parallell körning på flera CPU-kärnor. Det kan dock resultera i att fler poster med feljusterade fältvärden skapas tyst. Detta ska anges till Sant när de avgränsade filerna är kända för att innehålla citerade radbrytningar. Med den här csv-filen som exempel kommer data att läsas på olika sätt baserat på support_multi_line. A,B,C A1,B1,C1 A2,"B 2",C2
|
empty_as_string
Obligatorisk
|
Ange om tomma fältvärden ska läsas in som tomma strängar. Standardvärdet (False) läser tomma fältvärden som nullvärden. Om du skickar detta som Sant läss tomma fältvärden som tomma strängar. Om värdena konverteras till numeriska värden eller datetime har detta ingen effekt, eftersom tomma värden konverteras till nullvärden. |
encoding
Obligatorisk
|
Ange filkodning. Kodningar som stöds är "utf8", "iso88591", "latin1", "ascii", "utf16", "utf32", "utf8bom" och "windows1252" |
Returer
Typ | Description |
---|---|
Returnerar ett TabularDataset -objekt. |
Kommentarer
from_delimited_files skapar ett objekt av TabularDataset klassen som definierar åtgärderna för att läsa in data från avgränsade filer till tabellrepresentation.
För att data ska kunna nås av Azure Machine Learning måste de avgränsade filerna som anges av sökvägen finnas i Datastore eller bakom offentliga webb-URL:er eller URL:en för Blob, ADLS Gen1 och ADLS Gen2. användarnas AAD-token används i notebook-filer eller lokala Python-program om den anropar någon av följande funktioner direkt: 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 beräkningsmålets identitet används i jobb som skickas av Experiment.submit för autentisering av dataåtkomst. Lära sig mer: https://aka.ms/data-access
Kolumndatatyper härleds som standard från data i de avgränsade filerna. Om du anger set_column_types åsidosätts datatypen för de angivna kolumnerna i den returnerade TabularDataset.
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
Skapa en TabularDataset som representerar tabelldata i JSON Lines-filer (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')
Parametrar
Name | Description |
---|---|
path
Obligatorisk
|
|
validate
Obligatorisk
|
Booleskt värde för att verifiera om data kan läsas in från den returnerade datauppsättningen. Standardvärdet är True. Verifieringen kräver att datakällan är tillgänglig från den aktuella beräkningen. |
include_path
Obligatorisk
|
Booleskt värde för att behålla sökvägsinformation som kolumn i datauppsättningen. Standardvärdet är False. Detta är användbart när du läser flera filer och vill veta vilken fil en viss post kommer från, eller för att behålla användbar information i filsökvägen. |
set_column_types
Obligatorisk
|
En ordlista för att ange kolumndatatyp, där nyckeln är kolumnnamn och värde DataType |
partition_format
Obligatorisk
|
Ange partitionsformatet för sökvägen. Standardvärdet är Ingen. Partitionsinformationen för varje sökväg extraheras till kolumner baserat på det angivna formatet. Formatdelen {column_name} skapar strängkolumnen och {column_name:åååå/MM/dd/HH/mm/ss} skapar datetime-kolumnen, där "åå", "MM", "dd", "HH", "mm" och "ss" används för att extrahera år, månad, dag, timme, minut och sekund för datetime-typen. Formatet bör börja från positionen för den första partitionsnyckeln till slutet av filsökvägen. Till exempel med tanke på sökvägen .. /Accounts/2019/01/01/data.jsonl' där partitionen är efter avdelningsnamn och tid, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.jsonl' skapar en strängkolumn 'Avdelning' med värdet 'Konton' och en datetime-kolumn 'PartitionDate' med värdet '2019-01-01'. |
invalid_lines
Obligatorisk
|
Så här hanterar du rader som är ogiltiga JSON. Värden som stöds är "error" och "drop". |
encoding
Obligatorisk
|
Ange filkodning. Kodningar som stöds är "utf8", "iso88591", "latin1", "ascii", "utf16", "utf32", "utf8bom" och "windows1252" |
Returer
Typ | Description |
---|---|
Returnerar ett TabularDataset -objekt. |
Kommentarer
from_json_lines_files skapar ett objekt av TabularDataset klassen som definierar åtgärderna för att läsa in data från JSON Lines-filer till tabellrepresentation.
För att data ska kunna nås av Azure Machine Learning måste JSON Lines-filerna som anges av sökvägen finnas i Datastore eller bakom offentliga webb-URL:er eller URL:en för Blob, ADLS Gen1 och ADLS Gen2. användarnas AAD-token används i notebook-filer eller lokala Python-program om den anropar någon av följande funktioner direkt: 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 beräkningsmålets identitet används i jobb som skickas av Experiment.submit för autentisering av dataåtkomst. Lära sig mer: https://aka.ms/data-access
Kolumndatatyper läse från datatyper som sparats i JSON Lines-filerna. Om du anger set_column_types åsidosätts datatypen för de angivna kolumnerna i den returnerade TabularDataset.
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
Skapa en TabularDataset som representerar tabelldata i Parquet-filer.
static from_parquet_files(path, validate=True, include_path=False, set_column_types=None, partition_format=None)
Parametrar
Name | Description |
---|---|
path
Obligatorisk
|
|
validate
Obligatorisk
|
Booleskt värde för att verifiera om data kan läsas in från den returnerade datauppsättningen. Standardvärdet är True. Verifieringen kräver att datakällan är tillgänglig från den aktuella beräkningen. |
include_path
Obligatorisk
|
Booleskt värde för att behålla sökvägsinformation som kolumn i datauppsättningen. Standardvärdet är False. Detta är användbart när du läser flera filer och vill veta vilken fil en viss post kommer från, eller för att behålla användbar information i filsökvägen. |
set_column_types
Obligatorisk
|
En ordlista för att ange kolumndatatyp, där nyckeln är kolumnnamn och värde är DataType. |
partition_format
Obligatorisk
|
Ange partitionsformatet för sökvägen. Standardvärdet är Ingen. Partitionsinformationen för varje sökväg extraheras till kolumner baserat på det angivna formatet. Formatdelen {column_name} skapar strängkolumnen och {column_name:åååå/MM/dd/HH/mm/ss} skapar datetime-kolumnen, där "åå", "MM", "dd", "HH", "mm" och "ss" används för att extrahera år, månad, dag, timme, minut och sekund för datetime-typen. Formatet bör börja från positionen för den första partitionsnyckeln till slutet av filsökvägen. Till exempel med tanke på sökvägen .. /Accounts/2019/01/01/data.parquet' där partitionen är efter avdelningsnamn och tid, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.parquet' skapar en strängkolumn 'Avdelning' med värdet 'Konton' och en datetime-kolumn 'PartitionDate' med värdet '2019-01-01'. |
Returer
Typ | Description |
---|---|
Returnerar ett TabularDataset -objekt. |
Kommentarer
from_parquet_files skapar ett objekt av TabularDataset klassen som definierar åtgärderna för att läsa in data från Parquet-filer till tabellrepresentation.
För att data ska kunna nås av Azure Machine Learning måste Parquet-filerna som anges av sökvägen finnas i Datastore eller bakom offentliga webb-URL:er eller URL:en för Blob, ADLS Gen1 och ADLS Gen2. användarnas AAD-token används i notebook-filer eller lokala Python-program om den anropar någon av följande funktioner direkt: 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 beräkningsmålets identitet används i jobb som skickas av Experiment.submit för autentisering av dataåtkomst. Lära sig mer: https://aka.ms/data-access
Kolumndatatyper läse från datatyper som sparats i Parquet-filerna. Om du anger set_column_types åsidosätts datatypen för de angivna kolumnerna i den returnerade TabularDataset.
# 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
Skapa en TabularDataset som representerar tabelldata i SQL-databaser.
static from_sql_query(query, validate=True, set_column_types=None, query_timeout=30)
Parametrar
Name | Description |
---|---|
query
Obligatorisk
|
Ett SQL-typdatalager och en fråga. |
validate
Obligatorisk
|
Booleskt värde för att verifiera om data kan läsas in från den returnerade datauppsättningen. Standardvärdet är True. Verifieringen kräver att datakällan är tillgänglig från den aktuella beräkningen. |
set_column_types
Obligatorisk
|
En ordlista för att ange kolumndatatyp, där nyckeln är kolumnnamn och värde är DataType. |
query_timeout
Obligatorisk
|
Anger väntetiden (i sekunder) innan försöket att köra ett kommando avslutas och ett fel genereras. Standardvärdet är 30 sekunder. |
Returer
Typ | Description |
---|---|
Returnerar ett TabularDataset -objekt. |
Kommentarer
from_sql_query skapar ett objekt av TabularDataset klassen som definierar åtgärderna för att läsa in data från SQL-databaser till tabellrepresentation. För närvarande stöder vi endast MSSQLDataSource.
För att data ska kunna nås av Azure Machine Learning måste SQL-databasen som anges av query
finnas i Datastore och datalagertypen måste vara av SQL-typ.
Kolumndatatyper läse från datatyper i SQL-frågeresultat. Om du anger set_column_types
åsidosätts datatypen för de angivna kolumnerna i den returnerade TabularDataset.
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
Anteckning
Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.
Skapa en datauppsättning från dask dataframe.
static register_dask_dataframe(dataframe, target, name, description=None, tags=None, show_progress=True)
Parametrar
Name | Description |
---|---|
dataframe
Obligatorisk
|
<xref:dask.dataframe.core.DataFrame>
Obligatorisk dataram för dask som ska laddas upp. |
target
Obligatorisk
|
Obligatoriskt, datalagringssökvägen där dataramen parquet-data laddas upp till. En GUID-mapp genereras under målsökvägen för att undvika konflikter. |
name
Obligatorisk
|
Obligatoriskt, namnet på den registrerade datauppsättningen. |
description
Obligatorisk
|
Valfritt. En textbeskrivning av datauppsättningen. Standardvärdet är Ingen. |
tags
Obligatorisk
|
Valfritt. Ordlista med nyckelvärdestaggar för att ge datauppsättningen. Standardvärdet är Ingen. |
show_progress
Obligatorisk
|
Valfritt anger om du vill visa förloppet för uppladdningen i -konsolen. Standardvärdet är True. |
Returer
Typ | Description |
---|---|
Den registrerade datauppsättningen. |
register_pandas_dataframe
Skapa en datauppsättning från Pandas-dataramen.
static register_pandas_dataframe(dataframe, target, name, description=None, tags=None, show_progress=True, row_group_size=None, make_target_path_unique=True)
Parametrar
Name | Description |
---|---|
dataframe
Obligatorisk
|
Obligatoriskt i den minnesdataram som ska laddas upp. |
target
Obligatorisk
|
Obligatoriskt, datalagringssökvägen där dataramen parquet-data laddas upp till. En GUID-mapp genereras under målsökvägen för att undvika konflikter. |
name
Obligatorisk
|
Obligatoriskt, namnet på den registrerade datauppsättningen. |
description
Obligatorisk
|
Valfritt. En textbeskrivning av datauppsättningen. Standardvärdet är Ingen. |
tags
Obligatorisk
|
Valfritt. Ordlista med nyckelvärdestaggar för att ge datauppsättningen. Standardvärdet är Ingen. |
show_progress
Obligatorisk
|
Valfritt anger om du vill visa förloppet för uppladdningen i -konsolen. Standardvärdet är True. |
row_group_size
Obligatorisk
|
Valfritt. Maximal storlek på radgrupp som ska användas vid skrivning av parquet-fil. Standardvärdet är Ingen. |
make_target_path_unique
Obligatorisk
|
Valfritt anger om unik undermapp ska skapas i målet. Standardvärdet är True. |
Returer
Typ | Description |
---|---|
Den registrerade datauppsättningen. |
register_spark_dataframe
Anteckning
Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.
Skapa en datauppsättning från Spark-dataramen.
static register_spark_dataframe(dataframe, target, name, description=None, tags=None, show_progress=True)
Parametrar
Name | Description |
---|---|
dataframe
Obligatorisk
|
Obligatoriskt i den minnesdataram som ska laddas upp. |
target
Obligatorisk
|
Obligatoriskt, datalagringssökvägen där dataramen parquet-data laddas upp till. En GUID-mapp genereras under målsökvägen för att undvika konflikter. |
name
Obligatorisk
|
Obligatoriskt, namnet på den registrerade datauppsättningen. |
description
Obligatorisk
|
Valfritt. En textbeskrivning av datauppsättningen. Standardvärdet är Ingen. |
tags
Obligatorisk
|
Valfritt. Ordlista med nyckelvärdestaggar för att ge datauppsättningen. Standardvärdet är Ingen. |
show_progress
Obligatorisk
|
Valfritt anger om du vill visa förloppet för uppladdningen i -konsolen. Standardvärdet är True. |
Returer
Typ | Description |
---|---|
Den registrerade datauppsättningen. |