Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
SSIS Integration Runtime em Azure Data Factory
A transformação de Agrupamento Fuzzy executa tarefas de limpeza de dados, identificando linhas de dados que provavelmente sejam duplicadas e selecionando uma linha de referência de dados para ser usada na padronização dos dados.
Observação
Para obter informações mais detalhadas sobre a transformação Agrupamento Fuzzy, incluindo limitações de desempenho e memória, consulte o white paper Aproximação Fuzzy e Agrupamento Fuzzy no SQL Server Integration Services 2005.
A transformação Agrupamento Fuzzy requer uma conexão com uma instância do SQL Server para criar as tabelas temporárias do SQL Server que o algoritmo de transformação requer para fazer seu trabalho. A conexão deve estar associada a um utilizador que tenha permissão para criar tabelas na base de dados.
Para configurar a transformação, deve-se selecionar as colunas de entrada a utilizar na identificação de duplicatas e definir o tipo de correspondência, difusa ou exata, para cada coluna. Uma correspondência exata garante que apenas as linhas com valores idênticos nessa coluna serão agrupadas. A correspondência exata pode ser aplicada a colunas de qualquer tipo de dados do Integration Services, exceto DT_TEXT, DT_NTEXT e DT_IMAGE. Uma correspondência difusa agrupa linhas que têm aproximadamente os mesmos valores. O método para correspondência aproximada de dados é baseado em uma pontuação de similaridade especificada pelo usuário. Somente colunas com os tipos de dados DT_WSTR e DT_STR podem ser usadas na correspondência difusa. Para obter mais informações, consulte Tipos de dados do Integration Services.
A saída de transformação inclui todas as colunas de entrada, uma ou mais colunas com dados padronizados e uma coluna que contém a pontuação de similaridade. A pontuação é um valor decimal entre 0 e 1. A linha canónica tem uma pontuação de 1. Outras linhas no grupo difuso têm pontuações que indicam quão bem a linha corresponde à linha canônica. Quanto mais próxima a pontuação estiver de 1, mais próxima a linha corresponde à linha canônica. Se o grupo difuso incluir linhas que são duplicatas exatas da linha canônica, essas linhas também terão uma pontuação de 1. A transformação não remove linhas duplicadas; ele os agrupa criando uma chave que relaciona a linha canônica com linhas semelhantes.
A transformação produz uma linha de saída para cada linha de entrada, com as seguintes colunas adicionais:
_key_in, uma coluna que identifica exclusivamente cada linha.
_key_out, uma coluna que identifica um grupo de linhas duplicadas. A coluna _key_out tem o valor da coluna _key_in na linha de dados canónica. Linhas com o mesmo valor em _key_out fazem parte do mesmo grupo. O valor _key_out para um grupo corresponde ao valor de _key_in na linha de dados canônicos.
_score, um valor entre 0 e 1 que indica a semelhança da linha de entrada com a linha canônica.
Esses são os nomes de coluna padrão e você pode configurar a transformação Agrupamento Fuzzy para usar outros nomes. A saída também fornece uma pontuação de similaridade para cada coluna que participa de um agrupamento difuso.
A transformação Fuzzy Grouping inclui dois recursos para personalizar o agrupamento que executa: delimitadores de token e limiar de similaridade. A transformação fornece um conjunto padrão de delimitadores usados para tokenizar os dados, mas você pode adicionar novos delimitadores que melhoram a tokenização de seus dados.
O limiar de semelhança indica quão rigorosamente a transformação identifica duplicatas. Os limites de semelhança podem ser definidos nos níveis de componente e coluna. O limite de semelhança ao nível da coluna só está disponível para colunas que realizam uma correspondência aproximada. O intervalo de semelhança é de 0 a 1. Quanto mais próximo de 1 for o limiar, mais semelhantes devem ser as linhas e colunas para se qualificarem como duplicatas. Você especifica o limite de semelhança entre linhas e colunas definindo a propriedade MinSimilarity nos níveis de componente e coluna. Para satisfazer a semelhança especificada no nível do componente, todas as linhas devem ter uma semelhança em todas as colunas maior ou igual ao limite de similaridade especificado no nível do componente.
A transformação Fuzzy Grouping calcula medidas internas de similaridade, e as linhas que são menos semelhantes do que o valor especificado em MinSimilarity não são agrupadas.
Para identificar um limite de semelhança que funcione para seus dados, talvez seja necessário aplicar a transformação Agrupamento Fuzzy várias vezes usando diferentes limites mínimos de similaridade. Durante a execução, as colunas de pontuação da saída de transformação contêm as pontuações de semelhança para cada linha de um grupo. Você pode usar esses valores para identificar o limite de semelhança apropriado para seus dados. Se quiser aumentar a semelhança, defina MinSimilarity como um valor maior do que o valor nas colunas de pontuação.
Você pode personalizar o agrupamento que a transformação executa definindo as propriedades das colunas na entrada de transformação Agrupamento Fuzzy. Por exemplo, a propriedade FuzzyComparisonFlags especifica como a transformação compara os dados da cadeia de caracteres em uma coluna e a propriedade ExactFuzzy especifica se a transformação executa uma correspondência difusa ou uma correspondência exata.
A quantidade de memória que a transformação de Agrupamento Fuzzy usa pode ser configurada definindo a propriedade personalizada MaxMemoryUsage. Você pode especificar o número de megabytes (MB) ou usar o valor 0 para permitir que a transformação use uma quantidade dinâmica de memória com base em suas necessidades e na memória física disponível. A propriedade personalizada MaxMemoryUsage pode ser atualizada por meio de uma expressão de propriedade ao carregar o pacote. Para obter mais informações, consulte Expressões do Integration Services (SSIS),Usar expressões de propriedade em pacotes e Propriedades personalizadas de transformação.
Esta transformação tem uma entrada e uma saída. Ele não suporta uma saída de erro.
Comparação de linhas
Ao configurar a transformação de Agrupamento Fuzzy, pode especificar o algoritmo de comparação que a transformação usa para comparar linhas nos dados de entrada da transformação. Se você definir a propriedade Exhaustive como true, a transformação compara cada linha na entrada com todas as outras linhas na entrada. Esse algoritmo de comparação pode produzir resultados mais precisos, mas é provável que faça com que a transformação seja executada mais lentamente, a menos que o número de linhas na entrada seja pequeno. Para evitar problemas de desempenho, é aconselhável definir a propriedade Exhaustive como true somente durante o desenvolvimento do pacote.
Tabelas e índices temporários
Em tempo de execução, a transformação Agrupamento Fuzzy cria objetos temporários, como tabelas e índices, potencialmente de tamanho significativo, no banco de dados do SQL Server ao qual a transformação se conecta. O tamanho das tabelas e índices é proporcional ao número de linhas na entrada da transformação e ao número de tokens criados pela transformação Agrupamento Difuso.
A transformação também consulta as tabelas temporárias. Portanto, você deve considerar conectar a transformação do Agrupamento Fuzzy a uma instância que não seja de produção do SQL Server, especialmente se o servidor de produção tiver espaço em disco limitado disponível.
O desempenho dessa transformação pode melhorar se as tabelas e índices que ela usa estiverem localizados no computador local.
Configuração da transformação de agrupamento difuso
Você pode definir propriedades por meio do SSIS Designer ou programaticamente.
Para obter mais informações sobre as propriedades que você pode definir na caixa de diálogo Advanced Editor ou programaticamente, clique em um dos seguintes tópicos:
Tarefas relacionadas
Para obter detalhes sobre como definir propriedades dessa tarefa, clique em um dos seguintes tópicos:
Editor de Transformação de Agrupamento Fuzzy (guia Gestor de Conexões)
Use a guia Gerenciador de Conexões da caixa de diálogo Editor de Transformação de Agrupamento Fuzzy para selecionar uma conexão existente ou criar uma nova.
Observação
O servidor especificado pela conexão deve estar executando o SQL Server. A transformação Fuzzy Grouping cria objetos de dados temporários em tempdb que podem ser tão grandes quanto a entrada completa para a transformação. Enquanto a transformação é executada, ela emite consultas de servidor em relação a esses objetos temporários. Isso pode afetar o desempenho geral do servidor.
Opções
Gerenciador de conexões OLE DB
Selecione um gerenciador de conexões OLE DB existente usando a caixa de listagem ou crie uma nova conexão usando o botão Novo .
Novo
Crie uma nova conexão usando a caixa de diálogo Configurar Gerenciador de Conexões OLE DB .
Editor de Transformação de Agrupamento Fuzzy (tab Colunas)
Use a guia Colunas da caixa de diálogo Editor de Transformação de Agrupamento Fuzzy para especificar as colunas usadas para agrupar linhas com valores duplicados.
Opções
Colunas de entrada disponíveis
Selecione nesta lista as colunas de entrada usadas para agrupar linhas com valores duplicados.
Nome
Exiba os nomes das colunas de entrada disponíveis.
Passagem Direta
Selecione se deseja incluir a coluna de entrada na saída da transformação. Todas as colunas usadas para agrupamento são copiadas automaticamente para a saída. Você pode incluir colunas adicionais ao selecionar esta coluna.
Coluna de Entrada
Selecione uma das colunas de entrada selecionadas anteriormente na lista Colunas de entrada disponíveis .
Alias de saída
Insira um nome descritivo para a coluna de saída correspondente. Por padrão, o nome da coluna de saída é o mesmo que o nome da coluna de entrada.
Alias de saída do grupo
Introduza um nome descritivo para a coluna que irá conter o valor padrão para os duplicados agrupados. O nome padrão desta coluna de saída é o nome da coluna de entrada com _clean acrescentado.
Tipo de correspondência
Selecione a correspondência difusa ou exata. As linhas são consideradas duplicadas se forem suficientemente semelhantes em todas as colunas com um tipo de correspondência difusa. Se você também especificar a correspondência exata em determinadas colunas, somente as linhas que contêm valores idênticos nas colunas de correspondência exata serão consideradas como possíveis duplicatas. Portanto, se você souber que uma determinada coluna não contém erros ou inconsistências, poderá especificar a correspondência exata nessa coluna para aumentar a precisão da correspondência difusa em outras colunas.
Semelhança mínima
Defina o limite de semelhança no nível de junção usando o controle deslizante. Quanto mais próximo o valor estiver de 1, mais próxima deve ser a semelhança do valor de pesquisa com o valor de origem para se qualificar como uma correspondência. Aumentar o limite pode melhorar a velocidade de correspondência, uma vez que menos registros de candidatos precisam ser considerados.
Alias de saída de semelhança
Especifique o nome de uma nova coluna de saída que contenha as pontuações de semelhança para a associação selecionada. Se você deixar esse valor vazio, a coluna de saída não será criada.
Numerais
Especifique a significância dos números iniciais e finais na comparação dos dados da coluna. Por exemplo, se os números iniciais forem significativos, "123 Main Street" não será agrupado com "456 Main Street".
| Valor | Descrição |
|---|---|
| Nem | Os algarismos à esquerda e à direita não são significativos. |
| Liderando | Apenas os algarismos iniciais são significativos. |
| Rastejamento | Apenas os algarismos finais são significativos. |
| LeadingAndTrailing | Tanto os números iniciais como os finais são significativos. |
Bandeiras de comparação
Para obter informações sobre as opções de comparação de cadeia de caracteres, consulte Comparando dados de cadeia de caracteres.
Editor de Transformação de Agrupamento Fuzzy (Separador Avançado)
Use a guia Avançado da caixa de diálogo Editor de Transformação de Agrupamento Fuzzy para especificar colunas de entrada e saída, definir limites de semelhança e definir delimitadores.
Observação
As propriedades Exhaustive e MaxMemoryUsage da transformação Fuzzy Grouping não estão disponíveis no Fuzzy Grouping Transformation Editor, mas podem ser definidas usando o Editor Avançado. Para obter mais informações sobre essas propriedades, consulte a seção Transformação de agrupamento difuso de Propriedades personalizadas de transformação.
Opções
Nome da coluna da chave de entrada
Especifique o nome de uma coluna de saída que contém o identificador exclusivo para cada linha de entrada. A coluna _key_in tem um valor que identifica exclusivamente cada linha.
Nome da coluna da chave de saída
Especifique o nome de uma coluna de saída que contém o identificador exclusivo para a linha canônica de um grupo de linhas duplicadas. A coluna _key_out corresponde ao valor _key_in da linha de dados padrão.
Nome da coluna de pontuação de semelhança
Especifique um nome para a coluna que contém a pontuação de similaridade. A pontuação de semelhança é um valor entre 0 e 1 que indica a semelhança da linha de entrada com a linha canônica. Quanto mais próxima a pontuação estiver de 1, mais próxima a linha corresponde à linha canônica.
Limiar de semelhança
Defina o limite de semelhança usando o controle deslizante. Quanto mais próximo o limite estiver de 1, mais as linhas devem se assemelhar umas às outras para se qualificarem como duplicatas. Aumentar o limiar pode melhorar a velocidade de correspondência, uma vez que têm de ser considerados menos registos de candidatos.
Delimitadores de token
A transformação fornece um conjunto padrão de delimitadores para tokenizar dados, mas você pode adicionar ou remover delimitadores conforme necessário editando a lista.
Ver também
Transformação de pesquisa difusa
Transformações do Integration Services