Função MATCHES

Retornará true se um valor contiver uma string ou um padrão. O valor a ser pesquisado pode ser um literal de string ou uma referência a uma coluna de tipo String.Como a função MATCHES retorna um valor booleano, ela pode ser usada como uma função e como um condicional.

Dica: ao selecionar valores no histograma de uma coluna do tipo Array, normalmente é a função MATCHES que identifica os valores em que a transformação será realizada.

Dica: se você precisar do local da string correspondente dentro da fonte, use a função FIND. Consulte Função FIND.

Uso básico

Exemplo de referência de coluna:

delete row: MATCHES(ProdId, 'Fun Toy')

Saída: exclui qualquer linha em que o valor no valor da coluna ProdId contém a string literal Fun Toy.

Exemplo de literal de string:

derive value: MATCHES('Hello, World', 'Hello')

Saída: para todos os valores no conjunto de dados retorna true.

Sintaxe

derive value:MATCHES(column_string,string_pattern)

ArgumentoObrigatório?Tipo de dadoDescrição
column_string SstringNome de coluna ou literal de string a ser pesquisado
string_patternSstringLiteral ou padrão de string a ser encontrado

Para mais informações sobre os padrões de sintaxe, consulte Notas de sintaxe da documentação da linguagem.

column_string

Nome da coluna ou literal de string a ser pesquisado.

  • Os valores ausentes de string ou de coluna geram resultados de string ausentes.
    • É necessário colocar as constantes de string entre aspas ('Hello, World').
  • Várias colunas podem ser especificadas como uma matriz (matches([Col1,Col2],'hello').

Notas de uso:

Obrigatório?Tipo de dadoValor do exemplo
SimStringMyColumn

string_pattern

Literal de string, padrão do Cloud Dataprep ou expressão regular para comparar com a string da coluna de origem.

  • Não há suporte para referências de coluna.

Observações sobre o uso:

Obrigatório?Tipo de dadoValor do exemplo
SimLiteral ou padrão de string'home page'

Exemplos

Exemplo: como filtrar dados de registro

Quando o recurso está ativado, você pode fazer o download dos arquivos de registro de qualquer job que não seja executado, o que pode ajudar a depurar problemas relacionados ao conjunto de dados, à receita ou à execução do job. Nos registros salvos, você pode ver mensagens de erro dos seguintes tipos:

  • INFO: informações de status sobre o processo.
  • WARNING: o sistema encontrou um erro não fatal durante a execução.
  • ERROR: o sistema encontrou um erro, o que poderia ter causado a falha do job.


Para fins de análise, convém filtrar os dados de mensagens INFO e WARNING.

Origem:

Aqui estão dados de exemplo de um arquivo de registro de um job com falha:

registro
2016-01-29T00:14:24.924Z com.example.hadoopdata.monitor.spark_runner.ProfilerServiceClient [pool-13-thread-1] INFO com.example.hadoopdata.monitor.spark_runner.BatchProfileSparkRunner - Spark Profiler URL - http://localhost:4006/
2016-01-29T00:14:40.066Z com.example.hadoopdata.monitor.spark_runner.BatchProfileSparkRunner [pool-13-thread-1] INFO com.example.hadoopdata.monitor.spark_runner.BatchProfileSparkRunner - Spark process ID was null.
2016-01-29T00:14:40.067Z com.example.hadoopdata.monitor.spark_runner.BatchProfileSparkRunner [pool-13-thread-1] INFO com.example.hadoopdata.monitor.spark_runner.BatchProfileSparkRunner - --------------------------------END SPARK JOB-------------------------------
2016-01-29T00:14:44.961Z com.example.hadoopdata.joblaunch.server.BatchPollingWorker [pool-4-thread-2] ERROR com.example.hadoopdata.joblaunch.server.BatchPollingWorker - Job '128' threw an exception during execution
2016-01-29T00:14:44.962Z com.example.hadoopdata.joblaunch.server.BatchPollingWorker [pool-4-thread-2] INFO com.example.hadoopdata.joblaunch.server.BatchPollingWorker - Making sure async worker is stopped
2016-01-29T00:14:44.962Z com.example.hadoopdata.joblaunch.server.BatchPollingWorker [pool-4-thread-2] INFO com.example.hadoopdata.joblaunch.server.BatchPollingWorker - Notifying monitor for job '128', code 'FAILURE'
2016-01-29T00:14:44.988Z com.example.hadoopdata.monitor.client.MonitorClient [pool-4-thread-2] INFO com.example.hadoopdata.monitor.client.MonitorClient - Request succeeded to monitor ip-0-0-0-0.example.com:8001

Transformação:

Quando os dados acima são carregados no aplicativo, convém dividir os dados em colunas separadas, que os divide no caractere Z ao final do carimbo de data/hora:

split col: column1 on: `Z `

Então, você pode renomear as duas colunas: Timestamp e Log_Message. Para filtrar as mensagens INFO e WARNING, você pode usar as seguintes transformações, que correspondem aos literais de string para identificar essas mensagens:

delete row: MATCHES(Log_Message, '] INFO ')

delete row: MATCHES(Log_Message, '] WARNING ')

Resultados:

Após as etapas acima, os dados serão semelhantes aos seguintes:

Carimbo de data/horaLog_Message
2016-01-29T00:14:44.961com.example.hadoopdata.joblaunch.server.BatchPollingWorker [pool-4-thread-2] ERROR com.example.hadoopdata.joblaunch.server.BatchPollingWorker - Job '128' threw an exception during execution

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.