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
Sökvägen till källfilerna, som kan vara ett enskilt värde eller en lista med URL-sträng (http[s]|abfs[s]|wasb[s]), DataPath objekt eller tuppel för Datastore och relativ sökväg. Observera att listan över sökvägar inte kan inkludera både URL:er och datalager tillsammans.
- validate
- bool
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
- bool
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
- bool
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.
En ordlista för att ange kolumndatatyp, där nyckeln är kolumnnamn och värde är DataType.
- header
- 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
- str
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
- bool
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
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
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
- str
Ange filkodning. Kodningar som stöds är "utf8", "iso88591", "latin1", "ascii", "utf16", "utf32", "utf8bom" och "windows1252"
Returer
Returnerar ett TabularDataset -objekt.
Returtyp
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
Sökvägen till källfilerna, som kan vara ett enskilt värde eller en lista med URL-sträng (http[s]|abfs[s]|wasb[s]), DataPath objekt eller tuppel för Datastore och relativ sökväg. Observera att listan över sökvägar inte kan inkludera både URL:er och datalager tillsammans.
- validate
- bool
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
- bool
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.
En ordlista för att ange kolumndatatyp, där nyckeln är kolumnnamn och värde DataType
- partition_format
- str
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
- str
Så här hanterar du rader som är ogiltiga JSON. Värden som stöds är "error" och "drop".
- encoding
- str
Ange filkodning. Kodningar som stöds är "utf8", "iso88591", "latin1", "ascii", "utf16", "utf32", "utf8bom" och "windows1252"
Returer
Returnerar ett TabularDataset -objekt.
Returtyp
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
Sökvägen till källfilerna, som kan vara ett enskilt värde eller en lista med URL-sträng (http[s]|abfs[s]|wasb[s]), DataPath objekt eller tuppel för Datastore och relativ sökväg. Observera att listan över sökvägar inte kan inkludera både URL:er och datalager tillsammans.
- validate
- bool
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
- bool
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.
En ordlista för att ange kolumndatatyp, där nyckeln är kolumnnamn och värde är DataType.
- partition_format
- str
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
Returnerar ett TabularDataset -objekt.
Returtyp
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
- validate
- bool
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.
En ordlista för att ange kolumndatatyp, där nyckeln är kolumnnamn och värde är DataType.
- query_timeout
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
Returnerar ett TabularDataset -objekt.
Returtyp
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
- dataframe
- <xref:dask.dataframe.core.DataFrame>
Obligatorisk dataram för dask som ska laddas upp.
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.
- description
- str
Valfritt. En textbeskrivning av datauppsättningen. Standardvärdet är Ingen.
Valfritt. Ordlista med nyckelvärdestaggar för att ge datauppsättningen. Standardvärdet är Ingen.
- show_progress
- bool
Valfritt anger om du vill visa förloppet för uppladdningen i -konsolen. Standardvärdet är True.
Returer
Den registrerade datauppsättningen.
Returtyp
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
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.
- description
- int
Valfritt. En textbeskrivning av datauppsättningen. Standardvärdet är Ingen.
Valfritt. Ordlista med nyckelvärdestaggar för att ge datauppsättningen. Standardvärdet är Ingen.
- show_progress
- bool
Valfritt anger om du vill visa förloppet för uppladdningen i -konsolen. Standardvärdet är True.
- row_group_size
Valfritt. Maximal storlek på radgrupp som ska användas vid skrivning av parquet-fil. Standardvärdet är Ingen.
- make_target_path_unique
Valfritt anger om unik undermapp ska skapas i målet. Standardvärdet är True.
Returer
Den registrerade datauppsättningen.
Returtyp
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
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.
- description
- str
Valfritt. En textbeskrivning av datauppsättningen. Standardvärdet är Ingen.
Valfritt. Ordlista med nyckelvärdestaggar för att ge datauppsättningen. Standardvärdet är Ingen.
- show_progress
- bool
Valfritt anger om du vill visa förloppet för uppladdningen i -konsolen. Standardvärdet är True.
Returer
Den registrerade datauppsättningen.
Returtyp
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för