Função DOMAIN

Localiza o valor do domínio a partir de um URL válido. Os valores de entrada precisam ser do tipo "URL" ou "String".

Nesta implementação, um valor de domínio abrange todos os dados entre: 1) o identificador de protocolo (se houver) e o subdomínio, e 2) as informações de domínio de nível geral (por exemplo: .com).

OBSERVAÇÃO: quando a função DOMAIN analisa um domínio de nível mais alto de várias camadas, como co.uk, a saída é a primeira parte do valor do domínio (por exemplo, co). Para retornar outras partes das informações do domínio, você pode usar a função HOST. Consulte Função HOST.

Uso básico

Exemplos de literais de URL:

derive type:single value:DOMAIN('http://www.example.com' ) as: 'myDomain'

Saída: gera uma coluna contendo o valor example.

derive type:single value:DOMAIN('http://www.exampl.e.com' ) as: 'myDomain'

Saída: gera uma coluna contendo o valor e.

Exemplo de referência de coluna:

derive type:single value:DOMAIN(myURLs) as: 'myDomain'

Saída: gera a nova coluna myDomain contendo os valores de domínio extraídos da coluna myURLs.

Sintaxe

derive type:single value:DOMAIN(column_url)

ArgumentoObrigatório?Tipo de dadosDescrição
column_urlSstringNome da coluna ou literal de string ou URL contendo o valor do domínio a extrair

Para mais informações sobre os padrões de sintaxe, consulte as Observações sobre a sintaxe da documentação do idioma.

column_url

Nome da coluna ou literal de URL ou string cujos valores são usados para extrair o valor do domínio.

  • Os valores de entrada em falta geram resultados ausentes.
  • Várias colunas e caracteres curinga não são aceitos.

Observações sobre o uso:

Obrigatório?Tipo de dadosValor de exemplo
SimLiteral de string ou referência de coluna (URL)http://www.example.com

Exemplos

Exemplo: filtrar usuários internos

Veja um exemplo de informações de visitantes da Web, incluindo o nome da pessoa e o URL de referência. A ideia aqui é filtrar os usuários internos, cujos valores de referenciador incluem test-value.

NameReferrer
Joe Guyhttp://www.example.com
Ian Holmeshttp://www.test-value.com/support
Nick Knight http://www.test-value.com
Axel Adams http://www.example.com
Teri Towns http://www.example.com/test-value

Transformação:

Os valores de referenciadores incluem test-value como um valor sem domínio e URLs variáveis do domínio test-value.com. Assim, recomendamos usar a função DOMAIN para analisar apenas as versões de domínio desses valores. A instrução a seguir avalia os valores da coluna Referrer para o domínio de test-value e gera respostas verdadeiras/falsas em uma nova coluna da maneira correspondente:

derive type:single value:IF(DOMAIN(Referrer)=='test-value',true,false) as:'isInternal'

Agora que esses valores estão sinalizados, você pode filtrar os nomes internos:

delete row:(isInternal == 'true')

Resultados:

NameReferrerisInternal
Joe Guyhttp://www.example.comfalse
Axel Adamshttp://www.example.comfalse
Teri Townshttp://www.example.com/test-valuefalse

Exemplo: funções Domain, Subdomain, Host e Suffix

Este exemplo ilustra como extrair partes de componentes de um URL usando as seguintes funções:

  • DOMAIN: extrai o valor do domínio de um URL. Consulte Função DOMAIN.
  • SUBDOMAIN: extrai o primeiro grupo após o identificador do protocolo e antes do valor do domínio. Consulte Função SUBDOMAIN.
  • HOST: retorna o valor completo do host de um URL. Consulte Função HOST.
  • SUFFIX: extrai o sufixo de um URL. Consulte Função SUFFIX.
  • URLPARAMS: extrai os parâmetros de consulta e valores de um URL. Consulte Função URLPARAMS.
  • FILTEROBJECT: filtra um valor de objeto para exibir apenas os elementos de uma chave específica. Consulte Função FILTEROBJECT.

Origem:

O conjunto de dados inclui os seguintes valores de URLs:

URL
www.example.com
example.com/support
http://www.example.com/products/
http://1.2.3.4
https://www.example.com/free-download
https://www.example.com/about-us/careers
www.app.example.com
www.some.app.example.com
some.app.example.com
some.example.com
example.com
http://www.example.com?q1=broken%20record
http://www.example.com?query=khakis&app=pants
http://www.example.com?q1=broken%20record&q2=broken%20tape&q3=broken%20wrist

Transformação:

Quando os dados acima são importados para o aplicativo, a coluna é reconhecida como um URL. Todos os valores são registrados como válidos, mesmo o endereço IPv4.

Para extrair os valores de domínio e subdomínio:

derive type:single value: DOMAIN(URL) as: 'domain_URL'

derive type:single value: SUBDOMAIN(URL) as:'subdomain_URL'

derive type:single value: HOST(URL) as:host_URL'

derive type:single value: SUFFIX(URL) as:'suffix_URL'

Use o padrão do Cloud Dataprep na transformação abaixo para extrair identificadores de protocolo, se houver, em uma nova coluna:

extract col:URL on:`{start}%*://`

Para limpar isso, renomeie a coluna para protocol_URL.

Para extrair os valores de caminho, use a seguinte expressão regular:

OBSERVAÇÃO: expressões regulares são consideradas um método no nível de desenvolvedor para a correspondência de padrões. Use-as com cautela. Consulte Correspondência de texto.

extract col: URL on: /[^*:\/\/]\/.*$/

A transformação acima captura um pouco demais do URL. Se você renomear a coluna para path_URL, será possível usar a seguinte expressão regular para limpá-la:

extract col:path_URL on:/[!^\/].*$/


Exclua a coluna path_URL e renomeie a coluna path_URL1 para a que foi excluída. Em seguida:

derive type:single value: URLPARAMS(URL) as: 'urlParams'

Se quiser apenas visualizar os valores para o parâmetro q1, adicione o seguinte:

derive type:single value: FILTEROBJECT(urlParams,'q1') as: 'urlParam_q1'

Resultados:

Para fins de exibição, a tabela de resultados foi dividida em conjuntos separados de colunas.

Conjunto de colunas 1:

URLhost_URLpath_URL
www.example.comwww.example.com
example.com/supportexample.com/support
http://www.example.com/products/www.example.com/products/
http://1.2.3.41.2.3.4
https://www.example.com/free-downloadwww.example.com/free-download
https://www.example.com/about-us/careerswww.example.com/about-us/careers
www.app.example.comwww.app.example.com
www.some.app.example.comwww.some.app.example.com
some.app.example.comsome.app.example.com
some.example.comsome.example.com
example.comexample.com
http://www.example.com?q1=broken%20recordwww.example.com
http://www.example.com?query=khakis&app=pantswww.example.com
http://www.example.com?q1=broken%20record&q2=broken%20tape&q3=broken%20wristwww.example.com

Conjunto de colunas 2:

URLprotocol_URLsubdomain_URLdomain_URLsuffix_URL
www.example.com wwwexamplecom
example.com/support examplecom
http://www.example.com/products/http://wwwexamplecom
http://1.2.3.4http://
https://www.example.com/free-downloadhttps://wwwexamplecom
https://www.example.com/about-us/careershttps://wwwexamplecom
www.app.example.com www.appexamplecom
www.some.app.example.com www.some.appexamplecom
some.app.example.com some.appexamplecom
some.example.com someexamplecom
example.com examplecom
http://www.example.com?q1=broken%20recordhttp://wwwexamplecom
http://www.example.com?query=khakis&app=pantshttp://wwwexamplecom
http://www.example.com?q1=broken%20record&q2=broken%20tape&q3=broken%20wristhttp://wwwexamplecom

Conjunto de colunas 3:

URLurlParamsurlParam_q1
www.example.com
example.com/support
http://www.example.com/products/
http://1.2.3.4
https://www.example.com/free-download
https://www.example.com/about-us/careers
www.app.example.com
www.some.app.example.com
some.app.example.com
some.example.com
example.com
http://www.example.com?q1=broken%20record{"q1":"broken record"}{"q1":"broken record"}
http://www.example.com?query=khakis&app=pants{"query":"khakis","app":"pants"}
http://www.example.com?q1=broken%20record&q2=broken%20tape&q3=broken%20wrist{"q1":"broken record", "q2":"broken tape",
"q3":"broken wrist"}
{"q1":"broken record"}

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.