Dela via


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

Sökvägen till källfilerna, som kan vara ett enda värde eller en lista med url-sträng (http[s]|abfs[s]|wasb[s]), DataPath objekt eller tuppel av Datastore och relativ sökväg. Observera att listan över sökvägar inte kan inkludera både URL:er och datalager tillsammans.

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
str

Avgränsaren som används för att dela kolumner.

header
Obligatorisk

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
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 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


   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
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
str

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

Sökvägen till källfilerna, som kan vara ett enda värde eller en lista med url-sträng (http[s]|abfs[s]|wasb[s]), DataPath objekt eller tuppel av Datastore och relativ sökväg. Observera att listan över sökvägar inte kan inkludera både URL:er och datalager tillsammans.

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
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 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
str

Hantera rader som är ogiltiga JSON. Värden som stöds är "error" och "drop".

encoding
Obligatorisk
str

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

Sökvägen till källfilerna, som kan vara ett enda värde eller en lista med url-sträng (http[s]|abfs[s]|wasb[s]), DataPath objekt eller tuppel av Datastore och relativ sökväg. Observera att listan över sökvägar inte kan inkludera både URL:er och datalager tillsammans.

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
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 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
str

Obligatoriskt, namnet på den registrerade datamängden.

description
Obligatorisk
str

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
str

Obligatoriskt, namnet på den registrerade datamängden.

description
Obligatorisk
int

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
str

Obligatoriskt, namnet på den registrerade datamängden.

description
Obligatorisk
str

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.