TabularDatasetFactory Classe
Contém métodos para criar um conjunto de dados tabular para o Azure Machine Learning.
A 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 bloco de anotações 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 Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações. Crie um conjunto de dados a partir do dataframe do DASK. |
| register_pandas_dataframe |
Crie um conjunto de dados a partir do dataframe pandas. |
| register_spark_dataframe |
Observação Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações. Crie um conjunto de dados a partir do 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
| Name | Description |
|---|---|
|
path
Necessário
|
|
|
validate
Necessário
|
Boolean para validar se os dados podem ser carregados a partir 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 desativar a validação, "infer_column_types" também precisa ser definido como False. |
|
include_path
Necessário
|
Boolean para manter as informações de caminho como coluna no conjunto de dados. A definição padrão é 'False'. Isso é útil ao ler vários arquivos e deseja saber de qual arquivo um determinado registro se originou, ou para manter informações úteis no caminho do arquivo. |
|
infer_column_types
Necessário
|
Booleano para inferir tipos de dados de coluna. O padrão é True. A inferência de tipo requer que a fonte de dados seja acessível a partir da computação atual. Atualmente, a inferência de tipo puxará apenas as primeiras 200 linhas. Se os dados contiverem vários tipos de valor, é melhor fornecer o tipo desejado como uma substituição por meio set_column_types argumento. Verifique a seção Comentários para obter exemplos de código sobre set_column_types. |
|
set_column_types
Necessário
|
Um dicionário para definir o tipo de dados da coluna, onde a chave é o nome da coluna e o valor é DataType. |
|
separator
Necessário
|
O separador usado para dividir colunas. |
|
header
Necessário
|
Controla como os cabeçalhos de coluna são promovidos ao ler arquivos. O padrão é True para todos os arquivos com o mesmo cabeçalho. Os arquivos serão lidos como não tendo cabeçalho Quando header=False. Mais opções podem ser especificadas usando o valor enum de PromoteHeadersBehavior. |
|
partition_format
Necessá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 coluna de cadeia de caracteres e '{column_name:aaaa/MM/dd/HH/mm/ss}' cria coluna datetime, onde 'aaaa', '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 a partir 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' onde a partição é por nome e hora do departamento, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' cria uma coluna de string 'Department' com o valor 'Accounts' e uma coluna datetime 'PartitionDate' com o valor '2019-01-01'. |
|
support_multi_line
Necessário
|
Por padrão (support_multi_line=False), todas as quebras de linha, incluindo aquelas em valores de campo entre aspas, serão interpretadas como uma quebra de registro. A leitura de dados dessa forma é mais rápida e 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 este 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
Necessário
|
Especifique se os valores de campo vazio 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éricos ou datetime, isso não terá efeito, pois os valores vazios serão convertidos em nulos. |
|
encoding
Necessário
|
Especifique a codificação do arquivo. As codificações suportadas são 'utf8', 'iso88591', 'latin1', 'ascii', 'utf16', 'utf32', 'utf8bom' e 'windows1252' |
Devoluções
| Tipo | Description |
|---|---|
|
Retorna um objeto TabularDataset. |
Observações
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 por caminho devem estar localizados em Datastore ou atrás de URLs da Web públicas ou url de Blob, ADLS Gen1 e ADLS Gen2. O token AAD dos usuários será usado em notebook ou programa python local se ele 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á usada em trabalhos enviados por 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 padrão, inferidos a partir de dados nos arquivos delimitados. O fornecimento de 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
| Name | Description |
|---|---|
|
path
Necessário
|
|
|
validate
Necessário
|
Boolean para validar se os dados podem ser carregados a partir 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
Necessário
|
Boolean para manter as informações de caminho como coluna no conjunto de dados. A definição padrão é 'False'. Isso é útil ao ler vários arquivos e deseja saber de qual arquivo um determinado registro se originou, ou para manter informações úteis no caminho do arquivo. |
|
set_column_types
Necessário
|
Um dicionário para definir o tipo de dados da coluna, onde a chave é o nome da coluna e o valor é DataType |
|
partition_format
Necessá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 coluna de cadeia de caracteres e '{column_name:aaaa/MM/dd/HH/mm/ss}' cria coluna datetime, onde 'aaaa', '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 a partir 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' onde a partição é por nome e hora do departamento, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.jsonl' cria uma coluna de string 'Department' com o valor 'Accounts' e uma coluna datetime 'PartitionDate' com o valor '2019-01-01'. |
|
invalid_lines
Necessário
|
Como lidar com linhas que são JSON inválido. Os valores suportados são 'error' e 'drop'. |
|
encoding
Necessário
|
Especifique a codificação do arquivo. As codificações suportadas são 'utf8', 'iso88591', 'latin1', 'ascii', 'utf16', 'utf32', 'utf8bom' e 'windows1252' |
Devoluções
| Tipo | Description |
|---|---|
|
Retorna um objeto TabularDataset. |
Observações
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 JSON Lines especificados por caminho devem estar localizados em Datastore ou atrás de urls da Web públicas ou url de Blob, ADLS Gen1 e ADLS Gen2. O token AAD dos usuários será usado em notebook ou programa python local se ele 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á usada em trabalhos enviados por 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 salvos nos arquivos JSON Lines. O fornecimento de 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
| Name | Description |
|---|---|
|
path
Necessário
|
|
|
validate
Necessário
|
Boolean para validar se os dados podem ser carregados a partir 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
Necessário
|
Boolean para manter as informações de caminho como coluna no conjunto de dados. A definição padrão é 'False'. Isso é útil ao ler vários arquivos e deseja saber de qual arquivo um determinado registro se originou, ou para manter informações úteis no caminho do arquivo. |
|
set_column_types
Necessário
|
Um dicionário para definir o tipo de dados da coluna, onde a chave é o nome da coluna e o valor é DataType. |
|
partition_format
Necessá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 coluna de cadeia de caracteres e '{column_name:aaaa/MM/dd/HH/mm/ss}' cria coluna datetime, onde 'aaaa', '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 a partir 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' onde a partição é por nome e hora do departamento, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.parquet' cria uma coluna string 'Department' com o valor 'Accounts' e uma coluna datetime 'PartitionDate' com o valor '2019-01-01'. |
Devoluções
| Tipo | Description |
|---|---|
|
Retorna um objeto TabularDataset. |
Observações
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 do Parquet especificados pelo caminho devem estar localizados em Datastore ou atrás de urls da Web públicas ou url de Blob, ADLS Gen1 e ADLS Gen2. O token AAD dos usuários será usado em notebook ou programa python local se ele 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á usada em trabalhos enviados por 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 salvos nos arquivos Parquet. O fornecimento de 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
| Name | Description |
|---|---|
|
query
Necessário
|
Um armazenamento de dados do tipo SQL e uma consulta. |
|
validate
Necessário
|
Boolean para validar se os dados podem ser carregados a partir 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
Necessário
|
Um dicionário para definir o tipo de dados da coluna, onde a chave é o nome da coluna e o valor é DataType. |
|
query_timeout
Necessário
|
Define o tempo de espera (em segundos) antes de encerrar a tentativa de executar um comando e gerar um erro. O padrão é 30 segundos. |
Devoluções
| Tipo | Description |
|---|---|
|
Retorna um objeto TabularDataset. |
Observações
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, suportamos apenas MSSQLDataSource.
Para que os dados sejam acessíveis pelo Aprendizado de Máquina do Azure, o banco de dados SQL especificado por query deve estar localizado e Datastore o tipo de armazenamento de dados deve 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 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
Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.
Crie um conjunto de dados a partir do dataframe do 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>
Obrigatório, dataframe dask para ser carregado. |
|
target
Necessário
|
Obrigatório, o caminho do armazenamento de dados para onde os dados do parquet do dataframe serão carregados. Uma pasta guid será gerada sob o caminho de destino para evitar conflitos. |
|
name
Necessário
|
Obrigatório, o nome do conjunto de dados registrado. |
|
description
Necessário
|
Opcional. Uma descrição em texto do conjunto de dados. O padrão é Nenhum. |
|
tags
Necessário
|
Opcional. Dicionário de tags de valor chave para fornecer o conjunto de dados. O padrão é Nenhum. |
|
show_progress
Necessário
|
Opcional, indica se o progresso do carregamento deve ser exibido no console. O padrão é True. |
Devoluções
| Tipo | Description |
|---|---|
|
O conjunto de dados registado. |
register_pandas_dataframe
Crie um conjunto de dados a partir do dataframe 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 ser carregado. |
|
target
Necessário
|
Obrigatório, o caminho do armazenamento de dados para onde os dados do parquet do dataframe serão carregados. Uma pasta guid será gerada sob o caminho de destino para evitar conflitos. |
|
name
Necessário
|
Obrigatório, o nome do conjunto de dados registrado. |
|
description
Necessário
|
Opcional. Uma descrição em texto do conjunto de dados. O padrão é Nenhum. |
|
tags
Necessário
|
Opcional. Dicionário de tags de valor chave para fornecer o conjunto de dados. O padrão é Nenhum. |
|
show_progress
Necessário
|
Opcional, indica se o progresso do carregamento deve ser exibido no console. O padrão é True. |
|
row_group_size
Necessário
|
Opcional. Tamanho máximo do grupo de linhas a ser usado ao escrever o arquivo parquet. O padrão é Nenhum. |
|
make_target_path_unique
Necessário
|
Opcional, indica se uma subpasta exclusiva deve ser criada no destino. O padrão é True. |
Devoluções
| Tipo | Description |
|---|---|
|
O conjunto de dados registado. |
register_spark_dataframe
Observação
Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.
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 ser carregado. |
|
target
Necessário
|
Obrigatório, o caminho do armazenamento de dados para onde os dados do parquet do dataframe serão carregados. Uma pasta guid será gerada sob o caminho de destino para evitar conflitos. |
|
name
Necessário
|
Obrigatório, o nome do conjunto de dados registrado. |
|
description
Necessário
|
Opcional. Uma descrição em texto do conjunto de dados. O padrão é Nenhum. |
|
tags
Necessário
|
Opcional. Dicionário de tags de valor chave para fornecer o conjunto de dados. O padrão é Nenhum. |
|
show_progress
Necessário
|
Opcional, indica se o progresso do carregamento deve ser exibido no console. O padrão é True. |
Devoluções
| Tipo | Description |
|---|---|
|
O conjunto de dados registado. |