SelectHiveQL

 

Olá, seja bem-vindo a mais uma aula do curso Desenvolvimento com Apache Nifi.

Nesta aula vamos falar sobre o processor SelectHiveQL**.**

Este Processor permite executar uma consulta no Hive.

O resultado da consulta pode ser convertido para o formato Avro ou CSV.

Esse processador pode ser agendado para ser executado em um timer, expressão cron ou pode ser acionado por um FlowFile de entrada.

Se for acionado por um FlowFile de entrada, os atributos desse FlowFile estarão disponíveis após a consulta de seleção.

Abaixo temos uma lista com as suas propriedades:

  • Hive Database Connection Pooling Service : O serviço do controlador do Hive que é usado para obter conexões com o banco de dados do Hive
  • HiveQL Pre-Query : Uma lista delimitada por ponto e vírgula de consultas executadas antes da execução da consulta SQL principal. Exemplo: 'set tez.queue.name=queue1; set hive.exec.orc.split.strategy=ETL; set hive.exec.reducers.bytes .per.reducer=1073741824'. Observe que os resultados/saídas dessas consultas serão suprimidos se executados com êxito.
  • HiveQL Select Query :Consulta HiveQL SELECT a ser executada. Se isso não for definido, a consulta será considerada no conteúdo de um FlowFile de entrada.
  • HiveQL Post-Query : Uma lista delimitada por ponto e vírgula de consultas executadas após a execução da consulta SQL principal. Observe que os resultados/saídas dessas consultas serão suprimidos se executados com êxito.
  • Fetch Size : O número de linhas de resultados a serem buscadas do conjunto de resultados por vez.
  • Max Rows Per Flow File : O número máximo de linhas de resultados que serão incluídas em um único FlowFile. Isso permitirá que você divida conjuntos de resultados muito grandes em vários FlowFiles. Se o valor especificado for zero, todas as linhas serão retornadas em um único FlowFile.
  • Maximum Number of Fragments : O número máximo de fragmentos. Se o valor especificado for zero, todos os fragmentos serão retornados. Isso evita OutOfMemoryError quando este processador ingere uma tabela enorme.
  • Output Format : Como representar os registros vindos do Hive (Avro, CSV, por exemplo)
  • Normalize Table/Column Names : Se caracteres não compatíveis com Avro devem ser alterados em nomes de colunas para caracteres compatíveis com Avro. Por exemplo, dois pontos e pontos serão alterados para sublinhados para criar um registro Avro válido.
  • CSV Header : Incluir cabeçalho na saída
  • Alternate CSV Header : Lista separada por vírgulas de campos de cabeçalho
  • CSV Delimiter : Delimitador CSV usado para separar campos
  • CSV Quote: Se forçar a citação de campos CSV. Observe que isso pode entrar em conflito com a configuração de CSV Escape.
  • CSV Escape: Se as strings CSV devem ser escapadas na saída. Observe que isso pode entrar em conflito com a configuração de CSV Quote.
  • Character Set: Especifica o conjunto de caracteres dos dados do registro.

Os relacionamentos permitidos para direcionar ou terminar um flowfile são:

  • success= FlowFile criado com sucesso a partir do conjunto de resultados da consulta SQL.
  • failure= Falha na execução da consulta SQL. O FlowFile de entrada será penalizado e encaminhado para esta relação