EXEMPLO: função IPTOINT

Este exemplo ilustra como você pode converter endereços IP em valores numéricos para fins de comparação e classificação. Este exemplo ilustra as seguintes funções:

  • IPTOINT: converte um endereço IP em um valor inteiro de acordo com uma fórmula. Consulte Função IPTOINT.
  • IPFROMINT: reconverte um valor inteiro em um endereço IP de acordo com a fórmula. Consulte Função IPFROMINT.

Origem:

O conjunto de dados inclui os seguintes valores de endereços IP:

IpAddr
192.0.0.1
10.10.10.10
1.2.3.4
1.2.3
http://12.13.14.15
https://16.17.18.19

Transformação:

Quando os dados acima são importados, o aplicativo inicialmente classifica a coluna como valores de URL, devido à presença dos identificadores de protocolo http:// e https://. Selecione o tipo de dados do endereço IP para a coluna. Os três últimos valores estão listados como valores incompatíveis. Corrija os problemas com as duas últimas entradas aplicando a seguinte transformação, que corresponde às strings http:// e https://:

replace col:IpAddr with:'' on:`http%?://`

OBSERVAÇÃO: o padrão %? do Cloud Dataprep corresponde a zero ou uma vez em qualquer caractere, o que permite a correspondência nas duas variantes do identificador de protocolos.

Agora, apenas o valor 1.2.3 é incompatível. Talvez você saiba que está faltando um zero ao final. Para adicioná-lo novamente, proceda desta maneira:

replace col: IpAddr on: `1.2.3{end}` with: '1.2.3.0' global: true

Todos os valores na coluna são válidos para o tipo de dados de endereço IP. Para converter esses valores em equivalentes inteiros, use o comando a seguir:

derive type:single value:IPTOINT(IpAddr) as:'ip_as_int'

Agora é possível manipular os dados com base nessa chave numérica. Para converter os valores inteiros de volta em endereços IP para fins de verificação, use o código abaixo:

derive type:single value:IPFROMINT(ip_as_int) as:'ip_check'

Resultados:

Xip_as_intip_check
192.0.0.13221225473192.0.0.1
10.10.10.1016843009010.10.10.10
1.2.3.4169090601.2.3.4
1.2.3.0169090561.2.3.0
12.13.14.1520218215912.13.14.15
16.17.18.1926955419516.17.18.19
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.