TabularDatasetFactory Klass
Innehåller metoder för att skapa en tabelldatauppsättning för Azure Machine Learning.
A 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.
Konstruktor
TabularDatasetFactory()
Metoder
| from_delimited_files |
Skapa en TabularDataset för att representera tabelldata i avgränsade filer (e.g. CSV och TSV). |
| from_json_lines_files |
Skapa en TabularDataset för att representera tabelldata i JSON Lines-filer (http://jsonlines.org/). |
| from_parquet_files |
Skapa en TabularDataset för att representera tabelldata i Parquet-filer. |
| from_sql_query |
Skapa en TabularDataset för att representera tabelldata i SQL-databaser. |
| register_dask_dataframe |
Anmärkning Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry. Skapa en datauppsättning från dask-dataramen. |
| register_pandas_dataframe |
Skapa en datauppsättning från pandas-dataramen. |
| register_spark_dataframe |
Anmärkning Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry. Skapa en datauppsättning från spark-dataramen. |
from_delimited_files
Skapa en TabularDataset för att representera 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 Sant. Validering kräver att datakällan är tillgänglig från den aktuella beräkningen. Om du vill inaktivera valideringen måste "infer_column_types" också anges till False. |
|
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 Sant. 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 som att det inte finns någon 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 datumtidstypen. Formatet bör börja från positionen för den första partitionsnyckeln till slutet av filsökvägen. Till exempel med hjälp av sökvägen .. /Accounts/2019/01/01/data.csv' where the partition is by department name and time, partition_format='/{Department}/{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=False) tolkas alla radbrytningar, inklusive de i angivna fältvärden, 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 leda till att fler poster med feljusterade fältvärden skapas tyst. Detta bör 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 filkodningen. 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 klassobjekt TabularDataset som definierar åtgärder 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 filer 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- eller lokalt 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 identiteten för beräkningsmålet används i jobb som skickas av Experiment.submit för dataåtkomstautentisering. 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ätter 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 för att representera 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 Sant. Validering 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 datumtidstypen. Formatet bör börja från positionen för den första partitionsnyckeln till slutet av filsökvägen. Till exempel med hjälp av 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
|
Hantera rader som är ogiltiga JSON. Värden som stöds är "error" och "drop". |
|
encoding
Obligatorisk
|
Ange filkodningen. 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ärder 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- eller lokalt 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 identiteten för beräkningsmålet används i jobb som skickas av Experiment.submit för dataåtkomstautentisering. Lära sig mer: https://aka.ms/data-access
Kolumndatatyper läss från datatyper som sparats i JSON Lines-filerna. Om du anger set_column_types åsidosätter 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 för att representera 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 Sant. Validering 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 datumtidstypen. Formatet bör börja från positionen för den första partitionsnyckeln till slutet av filsökvägen. Till exempel med hjälp av 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 klassobjekt TabularDataset 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- eller lokalt 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 identiteten för beräkningsmålet används i jobb som skickas av Experiment.submit för dataåtkomstautentisering. Lära sig mer: https://aka.ms/data-access
Kolumndatatyper läss från datatyper som sparats i Parquet-filerna. Om du anger set_column_types åsidosätter 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 för att representera 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 Sant. Validering 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 du avslutar försöket att köra ett kommando och genererar ett fel. 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 DEN SQL-databas som anges av query finnas i Datastore och datalagertypen måste vara av sql-typ.
Kolumndatatyper läss 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
Anmärkning
Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry.
Skapa en datauppsättning från dask-dataramen.
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, dask-dataram som ska laddas upp. |
|
target
Obligatorisk
|
Krävs, den datalagersökväg 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 datamängden. |
|
description
Obligatorisk
|
Valfritt. En textbeskrivning av datamängden. Standardvärdet är Ingen. |
|
tags
Obligatorisk
|
Valfritt. Ordlista med nyckelvärdestaggar för att ge datamängden. Standardvärdet är Ingen. |
|
show_progress
Obligatorisk
|
Valfritt anger om du vill visa förloppet för uppladdningen i konsolen. Standardvärdet är Sant. |
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
|
Krävs i den minnesdataram som ska laddas upp. |
|
target
Obligatorisk
|
Krävs, den datalagersökväg 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 datamängden. |
|
description
Obligatorisk
|
Valfritt. En textbeskrivning av datamängden. Standardvärdet är Ingen. |
|
tags
Obligatorisk
|
Valfritt. Ordlista med nyckelvärdestaggar för att ge datamängden. Standardvärdet är Ingen. |
|
show_progress
Obligatorisk
|
Valfritt anger om du vill visa förloppet för uppladdningen i konsolen. Standardvärdet är Sant. |
|
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 en unik undermapp ska skapas i målet. Standardvärdet är Sant. |
Returer
| Typ | Description |
|---|---|
|
Den registrerade datauppsättningen. |
register_spark_dataframe
Anmärkning
Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry.
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
|
Krävs i den minnesdataram som ska laddas upp. |
|
target
Obligatorisk
|
Krävs, den datalagersökväg 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 datamängden. |
|
description
Obligatorisk
|
Valfritt. En textbeskrivning av datamängden. Standardvärdet är Ingen. |
|
tags
Obligatorisk
|
Valfritt. Ordlista med nyckelvärdestaggar för att ge datamängden. Standardvärdet är Ingen. |
|
show_progress
Obligatorisk
|
Valfritt anger om du vill visa förloppet för uppladdningen i konsolen. Standardvärdet är Sant. |
Returer
| Typ | Description |
|---|---|
|
Den registrerade datauppsättningen. |