TabularDatasetFactory Classe
Contém métodos para criar um conjunto de dados tabular para o Azure Machine Learning.
A TabularDataset é criado com os from_*
métodos nesta classe, por exemplo, o método from_delimited_files.
Para obter mais informações sobre como trabalhar com conjuntos de dados tabulares, consulte o bloco de notas https://aka.ms/tabulardataset-samplenotebook.
- Herança
-
builtins.objectTabularDatasetFactory
Construtor
TabularDatasetFactory()
Métodos
from_delimited_files |
Crie um TabularDataset para representar dados tabulares em ficheiros delimitados (e.g. CSV e TSV). |
from_json_lines_files |
Crie um TabularDataset para representar dados tabulares em ficheiros de Linhas JSON (http://jsonlines.org/). |
from_parquet_files |
Crie um TabularDataset para representar dados tabulares em ficheiros Parquet. |
from_sql_query |
Crie um TabularDataset para representar dados tabulares em bases de dados SQL. |
register_dask_dataframe |
Nota Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental. Crie um conjunto de dados a partir do dataframe dask. |
register_pandas_dataframe |
Crie um conjunto de dados a partir do dataframe do pandas. |
register_spark_dataframe |
Nota Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental. Crie um conjunto de dados a partir do dataframe do Spark. |
from_delimited_files
Crie um TabularDataset para representar dados tabulares em ficheiros delimitados (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')
Parâmetros
Name | Description |
---|---|
path
Necessário
|
|
validate
Necessário
|
Booleano para validar se os dados podem ser carregados a partir do conjunto de dados devolvido. A predefinição é Verdadeiro. A validação requer que a origem de dados esteja acessível a partir da computação atual. Para desativar a validação, "infer_column_types" também tem de ser definido como Falso. |
include_path
Necessário
|
Booleano para manter as informações do caminho como coluna no conjunto de dados. A predefinição é Falso. Isto é útil ao ler vários ficheiros e quer saber de que ficheiro provém um determinado registo ou para manter informações úteis no caminho do ficheiro. |
infer_column_types
Necessário
|
Booleano para inferir tipos de dados de coluna. A predefinição é Verdadeiro. A inferência de tipos requer que a origem de dados esteja acessível a partir da computação atual. Atualmente, a inferência de tipo apenas irá solicitar as primeiras 200 linhas. Se os dados contiverem vários tipos de valor, é melhor fornecer o tipo pretendido como uma substituição através de set_column_types argumento. Consulte a secção Observações para obter exemplos de código sobre set_column_types. |
set_column_types
Necessário
|
Um dicionário para definir o tipo de dados de coluna, em que a chave é o nome da coluna e o valor é DataType. |
separator
Necessário
|
O separador utilizado para dividir colunas. |
header
Necessário
|
Controla a forma como os cabeçalhos de coluna são promovidos ao ler a partir de ficheiros. A predefinição é Verdadeiro para todos os ficheiros com o mesmo cabeçalho. Os ficheiros serão lidos como sem cabeçalho Quando cabeçalho=Falso. Pode especificar mais opções com o valor de enumeração de PromoteHeadersBehavior. |
partition_format
Necessário
|
Especifique o formato de partição do caminho. A predefinição é Nenhuma. As informações de partição de cada caminho serão extraídas em colunas com base no formato especificado. Formatar a parte '{column_name}' cria a coluna de cadeia e '{column_name:aaaa/MM/dd/HH/mm/ss}' cria a coluna datetime, em que 'aaaa', 'MM', 'dd', 'HH', 'mm' e 'ss' são utilizados para extrair ano, mês, dia, hora, minuto e segundo para o tipo datetime. O formato deve começar a partir da posição da primeira chave de partição até ao fim do caminho do ficheiro. Por exemplo, dado o caminho ".. /Accounts/2019/01/01/data.csv" em que a partição é por nome e hora do departamento, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' cria uma coluna de cadeia "Department" com o valor "Accounts" e uma coluna datetime 'PartitionDate' com o valor '2019-01-01'. |
support_multi_line
Necessário
|
Por predefinição (support_multi_line=Falso), todas as quebras de linha, incluindo as dos valores de campos citados, serão interpretadas como uma quebra de registo. A leitura dos dados desta forma é mais rápida e otimizada para execução paralela em vários núcleos de CPU. No entanto, pode resultar na produção silenciosa de mais registos com valores de campo desalinhados. Esta opção deve ser definida como Verdadeiro quando se sabe que os ficheiros delimitados contêm quebras de linha citadas. Dado este ficheiro csv como exemplo, os dados serão lidos de forma diferente com base no support_multi_line. A,B,C A1,B1,C1 A2,"B 2",C2
|
empty_as_string
Necessário
|
Especifique se os valores de campo vazios devem ser carregados como cadeias vazias. A predefinição (Falso) irá ler valores de campo vazios como nulos. Ao transmitir isto como Verdadeiro, os valores de campo vazios serão lidos como cadeias vazias. Se os valores forem convertidos em numérico ou datetime, isso não terá efeito, uma vez que os valores vazios serão convertidos em nulos. |
encoding
Necessário
|
Especifique a codificação de ficheiros. As codificações suportadas são "utf8", "iso88591", "latin1", "ascii", "utf16", "utf32", "utf8bom" e "windows1252" |
Devoluções
Tipo | Description |
---|---|
Devolve um TabularDataset objeto. |
Observações
from_delimited_files cria um objeto de TabularDataset classe, que define as operações para carregar dados de ficheiros delimitados para representação tabular.
Para que os dados sejam acessíveis pelo Azure Machine Learning, os ficheiros delimitados especificados por caminho têm de estar localizados em Datastore urls ou urls da Web públicos de Blob, ADLS Gen1 e ADLS Gen2. O token do AAD dos utilizadores será utilizado no bloco de notas ou no programa python local se chamar diretamente uma destas funções: 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 a identidade do destino de computação será utilizada em tarefas submetidas pelo Experiment.submit para autenticação de acesso a dados. Saiba mais: https://aka.ms/data-access
Os tipos de dados de coluna são, por predefinição, inferidos a partir de dados nos ficheiros delimitados. Ao fornecer set_column_types substituirá o tipo de dados das colunas especificadas no TabularDataset devolvido.
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
Crie um TabularDataset para representar dados tabulares em ficheiros de Linhas 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')
Parâmetros
Name | Description |
---|---|
path
Necessário
|
|
validate
Necessário
|
Booleano para validar se os dados podem ser carregados a partir do conjunto de dados devolvido. A predefinição é Verdadeiro. A validação requer que a origem de dados esteja acessível a partir da computação atual. |
include_path
Necessário
|
Booleano para manter as informações do caminho como coluna no conjunto de dados. A predefinição é Falso. Isto é útil ao ler vários ficheiros e quer saber de que ficheiro provém um determinado registo ou para manter informações úteis no caminho do ficheiro. |
set_column_types
Necessário
|
Um dicionário para definir o tipo de dados da coluna, em que a chave é o nome da coluna e o valor é DataType |
partition_format
Necessário
|
Especifique o formato de partição do caminho. A predefinição é Nenhuma. As informações de partição de cada caminho serão extraídas em colunas com base no formato especificado. Formatar a parte '{column_name}' cria a coluna de cadeia e '{column_name:aaaa/MM/dd/HH/mm/ss}' cria a coluna datetime, em que 'aaaa', 'MM', 'dd', 'HH', 'mm' e 'ss' são utilizados para extrair ano, mês, dia, hora, minuto e segundo para o tipo datetime. O formato deve começar a partir da posição da primeira chave de partição até ao fim do caminho do ficheiro. Por exemplo, dado o caminho ".. /Accounts/2019/01/01/data.jsonl' em que a partição é por nome e hora do departamento, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.jsonl' cria uma coluna de cadeia "Department" com o valor "Accounts" e uma coluna datetime 'PartitionDate' com o valor '2019-01-01'. |
invalid_lines
Necessário
|
Como processar linhas que são JSON inválidas. Os valores suportados são "error" e "drop". |
encoding
Necessário
|
Especifique a codificação de ficheiros. As codificações suportadas são "utf8", "iso88591", "latin1", "ascii", "utf16", "utf32", "utf8bom" e "windows1252" |
Devoluções
Tipo | Description |
---|---|
Devolve um TabularDataset objeto. |
Observações
from_json_lines_files cria um objeto de TabularDataset classe, que define as operações para carregar dados de ficheiros de Linhas JSON para representação tabular.
Para que os dados sejam acessíveis pelo Azure Machine Learning, os ficheiros de Linhas JSON especificados por caminho têm de estar localizados em Datastore urls ou urls da Web públicos de Blob, ADLS Gen1 e ADLS Gen2. O token do AAD dos utilizadores será utilizado no bloco de notas ou no programa python local se chamar diretamente uma destas funções: 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 a identidade do destino de computação será utilizada em tarefas submetidas pelo Experiment.submit para autenticação de acesso a dados. Saiba mais: https://aka.ms/data-access
Os tipos de dados de coluna são lidos a partir de tipos de dados guardados nos ficheiros de Linhas JSON. Ao fornecer set_column_types substituirá o tipo de dados das colunas especificadas no TabularDataset devolvido.
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
Crie um TabularDataset para representar dados tabulares em ficheiros Parquet.
static from_parquet_files(path, validate=True, include_path=False, set_column_types=None, partition_format=None)
Parâmetros
Name | Description |
---|---|
path
Necessário
|
|
validate
Necessário
|
Booleano para validar se os dados podem ser carregados a partir do conjunto de dados devolvido. A predefinição é Verdadeiro. A validação requer que a origem de dados esteja acessível a partir da computação atual. |
include_path
Necessário
|
Booleano para manter as informações do caminho como coluna no conjunto de dados. A predefinição é Falso. Isto é útil ao ler vários ficheiros e quer saber de que ficheiro provém um determinado registo ou para manter informações úteis no caminho do ficheiro. |
set_column_types
Necessário
|
Um dicionário para definir o tipo de dados de coluna, em que a chave é o nome da coluna e o valor é DataType. |
partition_format
Necessário
|
Especifique o formato de partição do caminho. A predefinição é Nenhuma. As informações de partição de cada caminho serão extraídas em colunas com base no formato especificado. Formatar a parte '{column_name}' cria a coluna de cadeia e '{column_name:aaaa/MM/dd/HH/mm/ss}' cria a coluna datetime, em que 'aaaa', 'MM', 'dd', 'HH', 'mm' e 'ss' são utilizados para extrair ano, mês, dia, hora, minuto e segundo para o tipo datetime. O formato deve começar a partir da posição da primeira chave de partição até ao fim do caminho do ficheiro. Por exemplo, dado o caminho ".. /Accounts/2019/01/01/data.parquet' em que a partição é por nome e hora do departamento, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.parquet' cria uma coluna de cadeia 'Department' com o valor 'Accounts' e uma coluna datetime 'PartitionDate' com o valor '2019-01-01'. |
Devoluções
Tipo | Description |
---|---|
Devolve um TabularDataset objeto. |
Observações
from_parquet_files cria um objeto de TabularDataset classe, que define as operações para carregar dados de ficheiros Parquet para representação tabular.
Para que os dados sejam acessíveis pelo Azure Machine Learning, os ficheiros Parquet especificados por caminho têm de estar localizados dentro Datastore ou atrás de URLs da Web públicos ou url de Blob, ADLS Gen1 e ADLS Gen2. O token do AAD dos utilizadores será utilizado no bloco de notas ou no programa python local se chamar diretamente uma destas funções: 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 a identidade do destino de computação será utilizada em tarefas submetidas pelo Experiment.submit para autenticação de acesso a dados. Saiba mais: https://aka.ms/data-access
Os tipos de dados de coluna são lidos a partir de tipos de dados guardados nos ficheiros Parquet. Ao fornecer set_column_types substituirá o tipo de dados das colunas especificadas no TabularDataset devolvido.
# 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
Crie um TabularDataset para representar dados tabulares em bases de dados SQL.
static from_sql_query(query, validate=True, set_column_types=None, query_timeout=30)
Parâmetros
Name | Description |
---|---|
query
Necessário
|
Um arquivo de dados do tipo SQL e uma consulta. |
validate
Necessário
|
Booleano para validar se os dados podem ser carregados a partir do conjunto de dados devolvido. Predefinições para Verdadeiro. A validação requer que a origem de dados esteja acessível a partir da computação atual. |
set_column_types
Necessário
|
Um dicionário para definir o tipo de dados de coluna, em que a chave é o nome da coluna e o valor é DataType. |
query_timeout
Necessário
|
Define o tempo de espera (em segundos) antes de terminar a tentativa de executar um comando e gerar um erro. A predefinição é 30 segundos. |
Devoluções
Tipo | Description |
---|---|
Devolve um TabularDataset objeto. |
Observações
from_sql_query cria um objeto de TabularDataset classe, que define as operações para carregar dados de bases de dados SQL para representação tabular. Atualmente, só suportamos MSSQLDataSource.
Para que os dados sejam acessíveis pelo Azure Machine Learning, a base de dados SQL especificada por query
tem de estar localizada Datastore e o tipo de arquivo de dados tem de ser do tipo SQL.
Os tipos de dados de coluna são lidos a partir de tipos de dados no resultado da consulta SQL. O fornecimento set_column_types
substituirá o tipo de dados das colunas especificadas no TabularDataset devolvido.
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
Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.
Crie um conjunto de dados a partir do dataframe dask.
static register_dask_dataframe(dataframe, target, name, description=None, tags=None, show_progress=True)
Parâmetros
Name | Description |
---|---|
dataframe
Necessário
|
<xref:dask.dataframe.core.DataFrame>
Necessário, dataframe dask a carregar. |
target
Necessário
|
Obrigatório, o caminho do arquivo de dados para o qual os dados parquet do dataframe serão carregados. Será gerada uma pasta guid no caminho de destino para evitar conflitos. |
name
Necessário
|
Obrigatório, o nome do conjunto de dados registado. |
description
Necessário
|
Opcional. Uma descrição de texto do conjunto de dados. Predefinições para Nenhum. |
tags
Necessário
|
Opcional. Dicionário de etiquetas de valor chave para fornecer o conjunto de dados. Predefinições para Nenhum. |
show_progress
Necessário
|
Opcional, indica se pretende mostrar o progresso do carregamento na consola. As predefinições são Verdadeiras. |
Devoluções
Tipo | Description |
---|---|
O conjunto de dados registado. |
register_pandas_dataframe
Crie um conjunto de dados a partir do dataframe do pandas.
static register_pandas_dataframe(dataframe, target, name, description=None, tags=None, show_progress=True, row_group_size=None, make_target_path_unique=True)
Parâmetros
Name | Description |
---|---|
dataframe
Necessário
|
Necessário, no dataframe de memória a carregar. |
target
Necessário
|
Obrigatório, o caminho do arquivo de dados para o qual os dados parquet do dataframe serão carregados. Será gerada uma pasta guid no caminho de destino para evitar conflitos. |
name
Necessário
|
Obrigatório, o nome do conjunto de dados registado. |
description
Necessário
|
Opcional. Uma descrição de texto do conjunto de dados. Predefinições para Nenhum. |
tags
Necessário
|
Opcional. Dicionário de etiquetas de valor chave para fornecer o conjunto de dados. Predefinições para Nenhum. |
show_progress
Necessário
|
Opcional, indica se pretende mostrar o progresso do carregamento na consola. As predefinições são Verdadeiras. |
row_group_size
Necessário
|
Opcional. Tamanho máximo do grupo de linhas a utilizar ao escrever um ficheiro parquet. Predefinições para Nenhum. |
make_target_path_unique
Necessário
|
Opcional, indica se deve ser criada uma subpasta exclusiva no destino. As predefinições são Verdadeiras. |
Devoluções
Tipo | Description |
---|---|
O conjunto de dados registado. |
register_spark_dataframe
Nota
Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.
Crie um conjunto de dados a partir do dataframe do Spark.
static register_spark_dataframe(dataframe, target, name, description=None, tags=None, show_progress=True)
Parâmetros
Name | Description |
---|---|
dataframe
Necessário
|
Necessário, no dataframe de memória a carregar. |
target
Necessário
|
Obrigatório, o caminho do arquivo de dados para o qual os dados parquet do dataframe serão carregados. Será gerada uma pasta guid no caminho de destino para evitar conflitos. |
name
Necessário
|
Obrigatório, o nome do conjunto de dados registado. |
description
Necessário
|
Opcional. Uma descrição de texto do conjunto de dados. Predefinições para Nenhum. |
tags
Necessário
|
Opcional. Dicionário de etiquetas de valor chave para fornecer o conjunto de dados. Predefinições para Nenhum. |
show_progress
Necessário
|
Opcional, indica se pretende mostrar o progresso do carregamento na consola. As predefinições são Verdadeiras. |
Devoluções
Tipo | Description |
---|---|
O conjunto de dados registado. |