Gerar chaves primárias

Em termos de banco de dados, uma chave primária é uma coluna ou conjunto de colunas que identifica exclusivamente linhas em uma tabela. Exemplos:

  • Para dados de registro ou transacionais, o carimbo de data/hora normalmente é um identificador exclusivo.

    Dica: se você acredita que precisa de um identificador primário para o conjunto de dados, tente identificá-lo ou criá-lo antes de remover colunas potencialmente úteis.

  • A informação do produto geralmente contém um identificador SKU. Se não estiver disponível, você precisará de combinações de marca, fabricação e modelo, que podem ser criadas usando o método descrito abaixo.

É mais provável que uma fonte de dados bem organizada contenha esta informação para você, mas, em alguns casos, é possível que seja necessária a geração da sua própria chave primária.

Dica: na página do Transformer, uma maneira rápida de verificar se há uma chave primária em seu conjunto de dados é comparar a contagem de categorias nos histogramas para dados com base em strings em comparação com a contagem de linhas. Se os números forem iguais, a coluna será adequada para ser usada como uma chave primária. No entanto, se você juntar a outro conjunto de dados, precisará revisar novamente a adequação do campo e poderá precisar criar um novo campo de chave primária. Tenha em mente que as contas se aplicam à amostra exibida em vez de todo o conjunto de dados.

Nesta seção, oferecemos dois métodos para gerar chaves primárias nos seus conjuntos de dados.

Método identificador de linha exclusivo

Quando um conjunto de dados for carregado na página do Transformer pela primeira vez, você verá um conjunto de pontos pretos no lado esquerdo. Passe o mouse sobre esses pontos para revelar os números de linha recuperados da fonte original, se essa informação ainda estiver disponível. Esse método depende desses números para gerar chaves primárias, e é adequado quando a saída final contém um número relativamente pequeno de conjuntos de dados combinados.

OBSERVAÇÃO: algumas transformações tornam a informação original da ordem das linhas indisponível.Consulte Referências de metadados de origem.

Dica: quando você carregar o conjunto de dados pela primeira vez na página Transformer, gere uma coluna contendo as informações da linha original, como esta:

Nome da transformação New formula
Parâmetro: tipo de fórmula Single row formula
Parâmetro: fórmula SOURCEROWNUMBER()
Parâmetro: nome da nova coluna origRowId

Essa transformação é útil para incluir após inferência inicial e estruturação de cada receita para todos os conjuntos de dados.

Formatação padronizada

A saída desta coluna é uma lista de valores numéricos de 1 ou 2 para a última linha do seu conjunto de dados. É recomendável padronizar esses valores como um identificador exclusivo. Por exemplo, você está transformando um conjunto de pedidos. Convém adicionar seus identificadores de linha únicos com um código e formatá-los com base em um comprimento fixo, conforme o exemplo a seguir:

origRowIdkeyPrefixprimaryKey
1ORD000ORD0001
2ORD000ORD0001
...ORD000...
10ORD00ORD0010
...ORD00...
99ORD00ORD0099
100ORD0ORD0100

Essa estruturação gera chaves primárias de comprimento consistente. Use as etapas a seguir para padronizar a formatação, presumindo que já criou a coluna origRowId.

Etapas:

  1. Altere essa coluna para ser do tipo String. Selecione String na lista suspensa de tipo de dados para a coluna.
  2. Crie uma coluna contendo o identificador pré-determinado e o número apropriado de zeros. O bit de lógica a seguir gera uma string com o número apropriado de zeros dependendo do comprimento do valor em origRowId:

    Nome da transformação New formula
    Parâmetro: tipo de fórmula Single row formula
    Parâmetro: fórmula IF(LEN(origRowId) > 3, 'ORD', IF(LEN(origRowId) > 2, 'ORD0',IF(LEN(origRowId) > 1, 'ORD00','ORD000')))
    Parâmetro: nome da nova coluna keyPrefix

    OBSERVAÇÃO: a coluna funciona para até 10.000 linhas no conjunto de dados original. Você precisa adicionar cláusulas IF extras quando a contagem de linhas ultrapassa 10.000.

  3. Agora, mescle essas colunas:

    Nome da transformação Merge columns
    Parâmetro: colunas keyPrefix,origRowId
    Parâmetro: nome da nova coluna primaryKey
  4. Agora, é possível excluir a coluna do prefixo:

    Nome da transformação Delete columns
    Parâmetro: colunas keyPrefix
    Parâmetro: ação Delete selected columns

Aplique essas etapas em todos os conjuntos de dados que você pretende combinar em seu conjunto de dados de saída.

Combinar por meio de conjuntos de dados

Depois de combinar ou enriquecer o conjunto de dados, combine esses campos de código de linha originais de cada conjunto de dados para criar uma superchave primária no conjunto de dados combinado usando o método descrito abaixo.

O método de campo combinado

Se o conjunto de dados final contiver mais do que alguns conjuntos de dados combinados, este método básico para criar uma chave primária será encontrar uma combinação de campos que representam coletivamente um identificador exclusivo do conjunto de dados final. Colunas:

  • LastName
  • FirstName
  • TestNumber
  • TestScore

Existem várias instâncias de dados de teste para cada pessoa, não existe uma única coluna para usar como uma chave primária.

Etapas:

  1. Carregue o conjunto de dados na página do Transformer.
  2. Indique as colunas que, juntas, podem identificar uma linha de maneira exclusiva. No exemplo do TestScores-All, essas colunas são as seguintes:
    1. LastName
    2. FirstName
    3. TestNumber

      OBSERVAÇÃO: é possível configurar uma chave usando LastName e TestNumber, mas isso não é garantido. Se o conjunto de dados mudar ao longo do tempo, uma chave de trabalho baseada nessas colunas poderá ficar inválida.

  3. Use a transformação merge para combinar essas colunas em uma nova, conforme o exemplo a seguir:

    Nome da transformação Merge columns
    Parâmetro: colunas LastName,FirstName,TestNum
    Parâmetro: separador '-'
    Parâmetro: nome da nova coluna TestID

    A cláusula with identifica o delimitador entre os valores da coluna mesclada.

  4. Os valores serão os seguintes:

    TestID
    Smith-Joe-2
    Doe-Jane-4
    Jones-Jack-1
  5. Em alguns casos, convém excluir as colunas de origem da chave primária.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Google Cloud Dataprep
Precisa de ajuda? Acesse nossa página de suporte.