TabularDatasetFactory Classe
Contém métodos para criar um conjunto de dados tabular para o Azure Machine Learning.
Um TabularDataset é criado usando 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 notebook https://aka.ms/tabulardataset-samplenotebook.
Construtor
TabularDatasetFactory()
Métodos
| from_delimited_files |
Crie um TabularDataset para representar dados tabulares em arquivos delimitados (e.g. CSV e TSV). |
| from_json_lines_files |
Crie um TabularDataset para representar dados tabulares em arquivos JSON Lines (http://jsonlines.org/). |
| from_parquet_files |
Crie um TabularDataset para representar dados tabulares em arquivos Parquet. |
| from_sql_query |
Crie um TabularDataset para representar dados tabulares em bancos de dados SQL. |
| register_dask_dataframe |
Observação Esse é um método experimental e pode ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações. Crie um conjunto de dados a partir do dataframe dask. |
| register_pandas_dataframe |
Crie um conjunto de dados com base no dataframe do Pandas. |
| register_spark_dataframe |
Observação Esse é um método experimental e pode ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações. Crie um conjunto de dados com base no dataframe do Spark. |
from_delimited_files
Crie um TabularDataset para representar dados tabulares em arquivos 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
| Nome | Description |
|---|---|
|
path
Obrigatório
|
|
|
validate
Obrigatório
|
Booliano para validar se os dados podem ser carregados do conjunto de dados retornado. O padrão é True. A validação requer que a fonte de dados esteja acessível a partir da computação atual. Para desabilitar a validação, "infer_column_types" também precisa ser definido como False. |
|
include_path
Obrigatório
|
Booliano para manter as informações de caminho como coluna no conjunto de dados. Usa False como padrão. Isso é útil ao ler vários arquivos e deseja saber de qual arquivo um registro específico se originou ou manter informações úteis no caminho do arquivo. |
|
infer_column_types
Obrigatório
|
Booliano para inferir tipos de dados de coluna. O padrão é True. A inferência de tipo requer que a fonte de dados esteja acessível a partir da computação atual. Atualmente, a inferência de tipo só efetuará pull das primeiras 200 linhas. Se os dados contiverem vários tipos de valor, é melhor fornecer o tipo desejado como uma substituição por meio de set_column_types argumento. Verifique a seção Comentários para obter exemplos de código sobre set_column_types. |
|
set_column_types
Obrigató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
Obrigatório
|
O separador usado para dividir colunas. |
|
header
Obrigatório
|
Controla como os cabeçalhos de coluna são promovidos durante a leitura de arquivos. O padrão é True para todos os arquivos que têm o mesmo cabeçalho. Os arquivos serão lidos como sem cabeçalho Quando header=False. Mais opções podem ser especificadas usando o valor de enumeração .PromoteHeadersBehavior |
|
partition_format
Obrigatório
|
Especifique o formato de partição do caminho. O padrão é Nenhum. As informações de partição de cada caminho serão extraídas em colunas com base no formato especificado. A parte de formato '{column_name}' cria a coluna de cadeia de caracteres e '{column_name:yyyyy/MM/dd/HH/mm/ss}' cria a coluna datetime, em que 'yyyyy', 'MM', 'dd', 'HH', 'mm' e 'ss' são usados para extrair ano, mês, dia, hora, minuto e segundo para o tipo datetime. O formato deve começar da posição da primeira chave de partição até o final do caminho do arquivo. 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:yyyyy/MM/dd}/data.csv' cria uma coluna de cadeia de caracteres 'Department' com o valor 'Accounts' e uma coluna de datetime 'PartitionDate' com o valor '2019-01-01'. |
|
support_multi_line
Obrigatório
|
Por padrão (support_multi_line=False), todas as quebras de linha, incluindo aquelas nos valores de campo entre aspas, serão interpretadas como uma quebra de registro. A leitura de dados dessa maneira é mais rápida e mais otimizada para execução paralela em vários núcleos de CPU. No entanto, isso pode resultar na produção silenciosa de mais registros com valores de campo desalinhados. Isso deve ser definido como True quando os arquivos delimitados são conhecidos por conter quebras de linha entre aspas. Dado esse arquivo csv como exemplo, os dados serão lidos de forma diferente com base em support_multi_line. A, B, C A1, B1, C1 A2, "B 2", C2
|
|
empty_as_string
Obrigatório
|
Especifique se os valores de campo vazios devem ser carregados como cadeias de caracteres vazias. O padrão (False) lerá valores de campo vazios como nulos. Passar isso como True lerá valores de campo vazios como cadeias de caracteres vazias. Se os valores forem convertidos em numérico ou datetime, isso não terá efeito, pois valores vazios serão convertidos em nulos. |
|
encoding
Obrigatório
|
Especifique a codificação de arquivo. As codificações com suporte são 'utf8', 'iso88591', 'latin1', 'ascii', 'utf16', 'utf32', 'utf8bom' e 'windows1252' |
Retornos
| Tipo | Description |
|---|---|
|
Retorna um objeto TabularDataset. |
Comentários
from_delimited_files cria um objeto de TabularDataset classe, que define as operações para carregar dados de arquivos delimitados em representação tabular.
Para que os dados sejam acessíveis pelo Azure Machine Learning, os arquivos delimitados especificados pelo caminho devem estar localizados dentro Datastore ou atrás de URLs da Web públicas ou url de Blob, ADLS Gen1 e ADLS Gen2. O token do AAD dos usuários será usado no notebook ou programa python local se ele chamar diretamente uma dessas 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á usada em trabalhos enviados 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 inferidos por padrão dos dados nos arquivos delimitados. Fornecer set_column_types substituirá o tipo de dados para as colunas especificadas no TabularDataset retornado.
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 arquivos JSON Lines (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
| Nome | Description |
|---|---|
|
path
Obrigatório
|
|
|
validate
Obrigatório
|
Booliano para validar se os dados podem ser carregados do conjunto de dados retornado. O padrão é True. A validação requer que a fonte de dados esteja acessível a partir da computação atual. |
|
include_path
Obrigatório
|
Booliano para manter as informações de caminho como coluna no conjunto de dados. Usa False como padrão. Isso é útil ao ler vários arquivos e deseja saber de qual arquivo um registro específico se originou ou manter informações úteis no caminho do arquivo. |
|
set_column_types
Obrigatório
|
Um dicionário para definir o tipo de dados de coluna, em que a chave é o nome e o valor da coluna DataType |
|
partition_format
Obrigatório
|
Especifique o formato de partição do caminho. O padrão é Nenhum. As informações de partição de cada caminho serão extraídas em colunas com base no formato especificado. A parte de formato '{column_name}' cria a coluna de cadeia de caracteres e '{column_name:yyyyy/MM/dd/HH/mm/ss}' cria a coluna datetime, em que 'yyyyy', 'MM', 'dd', 'HH', 'mm' e 'ss' são usados para extrair ano, mês, dia, hora, minuto e segundo para o tipo datetime. O formato deve começar da posição da primeira chave de partição até o final do caminho do arquivo. 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:yyyyy/MM/dd}/data.jsonl' cria uma coluna de cadeia de caracteres 'Department' com o valor 'Accounts' e uma coluna de datetime 'PartitionDate' com o valor '2019-01-01'. |
|
invalid_lines
Obrigatório
|
Como lidar com linhas que são JSON inválidas. Os valores com suporte são 'error' e 'drop'. |
|
encoding
Obrigatório
|
Especifique a codificação de arquivo. As codificações com suporte são 'utf8', 'iso88591', 'latin1', 'ascii', 'utf16', 'utf32', 'utf8bom' e 'windows1252' |
Retornos
| Tipo | Description |
|---|---|
|
Retorna um objeto TabularDataset. |
Comentários
from_json_lines_files cria um objeto de TabularDataset classe, que define as operações para carregar dados de arquivos JSON Lines em representação tabular.
Para que os dados sejam acessíveis pelo Azure Machine Learning, os arquivos de Linhas JSON especificados por caminho devem estar localizados dentro Datastore ou atrás de URLs da Web públicas ou url de Blob, ADLS Gen1 e ADLS Gen2. O token do AAD dos usuários será usado no notebook ou programa python local se ele chamar diretamente uma dessas 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á usada em trabalhos enviados 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 de tipos de dados salvos nos arquivos de Linhas JSON. Fornecer set_column_types substituirá o tipo de dados para as colunas especificadas no TabularDataset retornado.
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 arquivos Parquet.
static from_parquet_files(path, validate=True, include_path=False, set_column_types=None, partition_format=None)
Parâmetros
| Nome | Description |
|---|---|
|
path
Obrigatório
|
|
|
validate
Obrigatório
|
Booliano para validar se os dados podem ser carregados do conjunto de dados retornado. O padrão é True. A validação requer que a fonte de dados esteja acessível a partir da computação atual. |
|
include_path
Obrigatório
|
Booliano para manter as informações de caminho como coluna no conjunto de dados. Usa False como padrão. Isso é útil ao ler vários arquivos e deseja saber de qual arquivo um registro específico se originou ou manter informações úteis no caminho do arquivo. |
|
set_column_types
Obrigató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
Obrigatório
|
Especifique o formato de partição do caminho. O padrão é Nenhum. As informações de partição de cada caminho serão extraídas em colunas com base no formato especificado. A parte de formato '{column_name}' cria a coluna de cadeia de caracteres e '{column_name:yyyyy/MM/dd/HH/mm/ss}' cria a coluna datetime, em que 'yyyyy', 'MM', 'dd', 'HH', 'mm' e 'ss' são usados para extrair ano, mês, dia, hora, minuto e segundo para o tipo datetime. O formato deve começar da posição da primeira chave de partição até o final do caminho do arquivo. 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:yyyyy/MM/dd}/data.parquet' cria uma coluna de cadeia de caracteres 'Department' com o valor 'Accounts' e uma coluna datetime 'PartitionDate' com o valor '2019-01-01'. |
Retornos
| Tipo | Description |
|---|---|
|
Retorna um objeto TabularDataset. |
Comentários
from_parquet_files cria um objeto de TabularDataset classe, que define as operações para carregar dados de arquivos Parquet em representação tabular.
Para que os dados sejam acessíveis pelo Azure Machine Learning, os arquivos Parquet especificados por caminho devem estar localizados dentro Datastore ou atrás de URLs da Web públicas ou url de Blob, ADLS Gen1 e ADLS Gen2. O token do AAD dos usuários será usado no notebook ou programa python local se ele chamar diretamente uma dessas 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á usada em trabalhos enviados 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 dos tipos de dados salvos nos arquivos Parquet. Fornecer set_column_types substituirá o tipo de dados para as colunas especificadas no TabularDataset retornado.
# 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 bancos de dados SQL.
static from_sql_query(query, validate=True, set_column_types=None, query_timeout=30)
Parâmetros
| Nome | Description |
|---|---|
|
query
Obrigatório
|
Um armazenamento de dados do tipo SQL e uma consulta. |
|
validate
Obrigatório
|
Booliano para validar se os dados podem ser carregados do conjunto de dados retornado. O padrão é True. A validação requer que a fonte de dados esteja acessível a partir da computação atual. |
|
set_column_types
Obrigató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
Obrigatório
|
Define o tempo de espera (em segundos) antes de encerrar a tentativa de executar um comando e gerar um erro. A predefinição é 30 segundos. |
Retornos
| Tipo | Description |
|---|---|
|
Retorna um objeto TabularDataset. |
Comentários
from_sql_query cria um objeto de TabularDataset classe, que define as operações para carregar dados de bancos de dados SQL em representação tabular. Atualmente, só há suporte para MSSQLDataSource.
Para que os dados sejam acessíveis pelo Azure Machine Learning, o banco de dados SQL especificado deve query estar localizado Datastore e o tipo de armazenamento de dados deve ser do tipo SQL.
Os tipos de dados de coluna são lidos dos tipos de dados no resultado da consulta SQL. O fornecimento set_column_types substituirá o tipo de dados para as colunas especificadas no TabularDataset retornado.
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
Observação
Esse é um método experimental e pode ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.
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
| Nome | Description |
|---|---|
|
dataframe
Obrigatório
|
<xref:dask.dataframe.core.DataFrame>
Necessário, o dataframe dask a ser carregado. |
|
target
Obrigatório
|
Obrigatório, o caminho do armazenamento de dados no qual os dados parquet do dataframe serão carregados. Uma pasta guid será gerada no caminho de destino para evitar conflitos. |
|
name
Obrigatório
|
Obrigatório, o nome do conjunto de dados registrado. |
|
description
Obrigatório
|
Opcional. Uma descrição de texto do conjunto de dados. O padrão é Nenhum. |
|
tags
Obrigatório
|
Opcional. Dicionário de marcas de valor de chave para fornecer o conjunto de dados. O padrão é Nenhum. |
|
show_progress
Obrigatório
|
Opcional, indica se o progresso do upload deve ser mostrado no console. O padrão é True. |
Retornos
| Tipo | Description |
|---|---|
|
O conjunto de dados registrado. |
register_pandas_dataframe
Crie um conjunto de dados com base no 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
| Nome | Description |
|---|---|
|
dataframe
Obrigatório
|
Necessário, no dataframe de memória a ser carregado. |
|
target
Obrigatório
|
Obrigatório, o caminho do armazenamento de dados no qual os dados parquet do dataframe serão carregados. Uma pasta guid será gerada no caminho de destino para evitar conflitos. |
|
name
Obrigatório
|
Obrigatório, o nome do conjunto de dados registrado. |
|
description
Obrigatório
|
Opcional. Uma descrição de texto do conjunto de dados. O padrão é Nenhum. |
|
tags
Obrigatório
|
Opcional. Dicionário de marcas de valor de chave para fornecer o conjunto de dados. O padrão é Nenhum. |
|
show_progress
Obrigatório
|
Opcional, indica se o progresso do upload deve ser mostrado no console. O padrão é True. |
|
row_group_size
Obrigatório
|
Opcional. Tamanho máximo do grupo de linhas a ser usado ao gravar o arquivo parquet. O padrão é Nenhum. |
|
make_target_path_unique
Obrigatório
|
Opcional, indica se a subpasta exclusiva deve ser criada no destino. O padrão é True. |
Retornos
| Tipo | Description |
|---|---|
|
O conjunto de dados registrado. |
register_spark_dataframe
Observação
Esse é um método experimental e pode ser alterado a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.
Crie um conjunto de dados com base no dataframe do Spark.
static register_spark_dataframe(dataframe, target, name, description=None, tags=None, show_progress=True)
Parâmetros
| Nome | Description |
|---|---|
|
dataframe
Obrigatório
|
Necessário, no dataframe de memória a ser carregado. |
|
target
Obrigatório
|
Obrigatório, o caminho do armazenamento de dados no qual os dados parquet do dataframe serão carregados. Uma pasta guid será gerada no caminho de destino para evitar conflitos. |
|
name
Obrigatório
|
Obrigatório, o nome do conjunto de dados registrado. |
|
description
Obrigatório
|
Opcional. Uma descrição de texto do conjunto de dados. O padrão é Nenhum. |
|
tags
Obrigatório
|
Opcional. Dicionário de marcas de valor de chave para fornecer o conjunto de dados. O padrão é Nenhum. |
|
show_progress
Obrigatório
|
Opcional, indica se o progresso do upload deve ser mostrado no console. O padrão é True. |
Retornos
| Tipo | Description |
|---|---|
|
O conjunto de dados registrado. |