Show Menu
TÓPICOS×

CrossRows

Como outras transformações, a transformação CrossRows é aplicada às linhas de dados (entradas de log) nas fontes de log.
Para cada linha de dados, a transformação toma o valor do campo de entrada especificado, executa um conjunto de etapas de processamento e registra o resultado no campo de saída que você especificar. No entanto, quando a CrossRows transformação funciona em uma linha de dados (essa linha é chamada de linha de saída), ela leva em conta a linha mais uma ou mais linhas de dados (essas linhas são chamadas de linhas de entrada) associadas à mesma ID de rastreamento. Portanto, para uma determinada ID de rastreamento, o valor do campo de saída para cada linha de saída é baseado nos valores do campo de entrada para uma ou mais linhas de entrada.
A transformação fornece várias condições e restrições que permitem limitar as linhas de entrada da transformação. Você pode expressar esses limites em termos das condições do servidor da análise de big data (consulte Condições ), um intervalo de linhas de entrada em relação à linha de saída ou um intervalo de vezes em relação ao tempo da linha de saída. Para as linhas de entrada que satisfazem as condições e restrições da transformação, é possível aplicar uma operação (como SUM) que determina o valor do campo de saída.
Para funcionar, a CrossRows transformação exige que os dados sejam solicitados no tempo e agrupados pela ID de rastreamento nos dados de origem. Portanto, CrossRows funciona somente quando definido no Transformation.cfg arquivo ou em um Transformation Dataset Include arquivo.
À medida que você revisa as descrições dos parâmetros na tabela a seguir, lembre-se do seguinte:
  • A linha de saída é a linha de dados na qual a transformação está funcionando em um determinado ponto no tempo.
  • As linhas de entrada são todas as outras linhas de dados (antes, depois ou incluindo a linha de saída) cujos valores do campo de entrada servem como entradas para a transformação. As linhas de entrada estão sujeitas aos parâmetros Condição de entrada, Chave, Início da linha, Fim da linha, Início da hora e Fim da hora.
Parâmetro Descrição Padrão
Nome Nome descritivo da transformação. Você pode digitar qualquer nome aqui.
Comentários Opcional. Notas sobre a transformação.
Condição Limita a saída da transformação a determinadas entradas de log. Se a condição não for atendida para uma entrada de log específica, o campo no parâmetro Saída será mantido inalterado. A entrada ainda pode ser usada para afetar outras entradas de log.
Entrada O nome do campo da linha de entrada a ser usada como entrada.
Condição de entrada Aceita a entrada para a transformação somente de determinadas linhas de entrada. Se a Condição de entrada não for atendida para uma linha de entrada específica, o campo de entrada dessa linha será ignorado e não afetará outras linhas de saída. No entanto, o campo de saída dessa linha ainda é modificado de acordo com a Condição especificada.
Chave
Opcional. O nome do campo a ser usado como a chave.
Se uma tecla for especificada, as linhas de entrada para uma determinada linha de saída serão limitadas ao bloco contíguo de linhas com o mesmo valor de Chave que a linha de saída. Essa restrição é adicionada a todas as outras limitações colocadas nas linhas de entrada por outros parâmetros da transformação CrossRows .
Por exemplo, se você estiver trabalhando com dados da Web e tornar o campo x-session-key (que tem um valor exclusivo para cada sessão) a chave, as linhas de entrada para a transformação serão limitadas às linhas que têm o mesmo valor x-session-key que a linha de saída. Portanto, você considera somente as linhas de entrada que representam exibições de página que ocorrem durante a mesma sessão que a linha de saída.
Operação
Uma operação que, para cada linha de saída, é aplicada a todas as linhas de entrada que satisfazem todas as condições definidas pelos parâmetros Condição de entrada, Chave, Início da linha, Fim da linha, Início da hora e Fim da hora para produzir uma saída:
  • TODOS tiram todos os valores do campo de entrada das linhas de entrada e os produzem como um vetor.
  • SUM interpreta os valores do campo de entrada das linhas de entrada como números e os resume.
  • PRIMEIRA LINHA gera o valor do campo de entrada da primeira linha de entrada.
  • A ÚLTIMA LINHA gera o valor do campo de entrada da última linha de entrada.
Saída O nome do campo de saída.
Início da linha/Fim da linha
Opcional. Especifica um intervalo de linhas de entrada relativo à linha de saída. Por exemplo, um valor de Início da linha de "0" exclui todas as linhas antes da linha de saída. Um valor inicial de linha de "1" também exclui a linha de saída. Intervalos comuns incluem:
  • Início 0: Esta linha e todas as subsequentes.
  • Início 1: Todas as linhas subsequentes.
  • Fim 0: Esta linha e todas as anteriores.
  • Final -1: Todas as linhas anteriores.
  • Início -1, Fim -1: A linha anterior.
  • Início 1, Fim 1: A próxima fila.
Todas as linhas
Hora de início/hora de término
Opcional. Especifica um intervalo de vezes relativo ao tempo da linha de saída. Por exemplo, um Fim de tempo de 30 minutos inclui todas as linhas que ocorrem dentro de 30 minutos após a linha de saída. Um Início de tempo de -30 minutos inclui todas as linhas que ocorrem dentro de 30 minutos antes da linha de saída.
As unidades de tempo disponíveis são dias, semanas, horas, minutos, ms (milissegundos), tiques (100 nanossegundos) e ns (nanossegundos).
Todas as vezes
A CrossRows transformação neste exemplo é aplicada a linhas de dados da Web para localizar para cada exibição de página a hora da próxima exibição de página. Como sabemos que isso CrossRows é aplicado somente durante a fase de transformação do processo de construção do conjunto de dados, as linhas de dados são ordenadas pelo visitante (cada visitante tem uma ID de rastreamento exclusiva) e pela hora.
O campo de entrada, x-timestamp, é considerado apenas para as linhas de entrada nas quais o campo x é de exibição de página é preenchido (indicando que a linha de dados representa uma exibição de página). O campo x-session-key (que tem um valor exclusivo para cada sessão) é especificado para o parâmetro Key. Portanto, as linhas de entrada (entradas de log) da transformação são limitadas ao bloco contíguo de linhas com o mesmo valor de x-session-key que a linha de saída. Em outras palavras, para ser considerada para a transformação, uma linha de entrada deve representar uma exibição de página que ocorre durante a mesma sessão que a exibição de página na linha de saída. A primeira operação de linha obtém o valor do campo de saída da primeira linha de entrada que satisfaz a Input Condição e tem o mesmo valor de chave x-session que a linha de saída.
CrossRows executa em uma quantidade de tempo proporcional ao tamanho de suas entradas mais o tamanho de suas saídas. Isso significa que para as operações SUM, FIRST ROW e LAST ROW, não é menos eficiente que outras transformações. Para TODOS, a situação é mais complexa porque é possível configurar CrossRows a saída de uma quantidade de dados para cada linha de dados (entrada do log) que é proporcional ao número total de linhas (entradas do log) para uma determinada ID de rastreamento.