CSVReader¶
Descrição¶
Analisa os dados formatados em CSV, retornando cada linha do arquivo CSV como um registro separado. Esse leitor permite inferir um esquema com base na primeira linha do CSV, se houver uma “linha de cabeçalho”, ou fornecer um esquema explícito para interpretar os valores. Consulte Uso do Controller Service para obter documentação adicional.
Propriedades¶
Na lista abaixo, as propriedades obrigatórias são mostradas com um asterisco (*). Outras propriedades são consideradas opcionais. A tabela também indica os valores padrão e se uma propriedade é compatível com linguagem de expressão NiFi.
Nome de exibição |
Nome da API |
Valor padrão |
Valores permitidos |
Descrição |
---|---|---|---|---|
Formato CSV * |
Formato CSV |
personalizado |
|
Especifica em que “formato” estão os dados do CSV ou especifica se a formatação personalizada deve ser usada. |
Marcador de comentários |
Marcador de comentários |
O caractere usado para indicar o início de um comentário. Qualquer linha que comece com esse comentário será ignorada. |
||
Formato de data |
Formato de data |
Especifica o formato a ser usado na leitura/gravação de campos de data. Se não for especificado, os campos de data serão assumidos como o número de milissegundos desde a época (meia-noite, 1º de janeiro de 1970 GMT). Se especificado, o valor deve corresponder ao formato Java java.time.format.DateTimeFormatter (por exemplo, MM/dd/yyyyy para um mês de dois dígitos, seguido por um dia de dois dígitos, seguido por um ano de quatro dígitos, todos separados por caracteres “/”, como em 01/01/2017). |
||
Caractere de escape * |
Caractere de escape |
O caractere que é usado para escapar de caracteres que, de outra forma, teriam um significado específico para o analisador CSV. Se a propriedade tiver sido especificada por meio da linguagem de expressão, mas a expressão for avaliada como um caractere de escape inválido em tempo de execução, ela será ignorada e o caractere de escape padrão será usado. Defini-la como uma cadeia de caracteres vazia significa que nenhum caractere de escape deve ser usado. |
||
Cadeia de caracteres nula |
Cadeia de caracteres nula |
Especifica uma cadeia de caracteres que, se presente como um valor no CSV, deve ser considerada um campo nulo em vez de usar o valor literal. |
||
Caractere de aspas * |
Caractere de aspas |
« |
O caractere usado para colocar valores entre aspas para que os caracteres de escape não precisem ser usados. Se a propriedade tiver sido especificada por meio da linguagem de expressão, mas a expressão for avaliada como um caractere de citação inválido no tempo de execução, ela será ignorada e o caractere de citação padrão será usado. |
|
Separador de registros * |
Separador de registros |
n |
Especifica os caracteres a serem usados para separar registros de CSV |
|
Tratar a primeira linha como cabeçalho * |
Pular linha do cabeçalho |
falso |
|
Especifica se a primeira linha do CSV deve ou não ser considerada um cabeçalho ou um registro. Se a estratégia de acesso ao esquema indicar que as colunas devem ser definidas no cabeçalho, essa propriedade será ignorada, pois o cabeçalho deve estar sempre presente e não será processado como um registro. Caso contrário, se for “verdadeiro”, a primeira linha dos dados do CSV não será processada como um registro e, se for “falso”, a primeira linha será interpretada como um registro. |
Formato de hora |
Formato de hora |
Especifica o formato a ser usado na leitura/gravação de campos de tempo. Se não for especificado, os campos de tempo serão assumidos como o número de milissegundos desde a época (meia-noite, 1º de janeiro de 1970 GMT). Se especificado, o valor deve corresponder ao formato Java java.time.format.DateTimeFormatter (por exemplo, HH:mm:ss para uma hora de dois dígitos no formato de 24 horas, seguida por um minuto de dois dígitos, seguido por um segundo de dois dígitos, todos separados pelo caractere “:”, como em 18:04:15). |
||
Formato de carimbo de data/hora |
Formato de carimbo de data/hora |
Especifica o formato a ser usado na leitura/gravação de campos de carimbo de data/hora. Se não for especificado, os campos de carimbo de data/hora serão considerados como o número de milissegundos desde a época (meia-noite, 1º de janeiro de 1970 GMT). Se especificado, o valor deve corresponder ao formato Java java.time.format.DateTimeFormatter (por exemplo, MM/dd/yyyyy HH:mm:ss para um mês de dois dígitos, seguido por um dia de dois dígitos, seguido por um ano de quatro dígitos, todos separados pelo caractere “/”; e depois seguido por uma hora de dois dígitos no formato de 24 horas, seguido por um minuto de dois dígitos, seguido por um segundo de dois dígitos, todos separados pelo caractere “:”, como em 01/01/2017 18:04:15). |
||
Remover campos * |
Remover campos |
true |
|
Se o espaço em branco deve ou não ser removido do início e do fim dos campos |
Remover aspas duplas * |
Remover aspas duplas |
true |
|
Se as aspas duplas iniciais e finais devem ou não ser removidas. Por exemplo: com a opção de aparo de cadeia de caracteres, “»test»” será interpretada como “test”; sem a opção de aparo de cadeia de caracteres, será interpretada como “»test»”. Se definido como “false”, significa conformidade total com a RFC-4180. O valor padrão é verdadeiro, com remoção. |
Separador de valores * |
Separador de valores |
, |
O caractere usado para separar valores/campos em um registro CSV. Se a propriedade tiver sido especificada por meio da linguagem de expressão, mas a expressão for avaliada como um separador de valor inválido em tempo de execução, ela será ignorada e o separador de valor padrão será usado. |
|
Analisador CSV * |
csv-reader-csv-parser |
commons-csv |
|
Especifica o analisador a ser usado para ler os registros CSV. NOTE: diferentes analisadores podem oferecer suporte a diferentes subconjuntos de funcionalidade e também podem apresentar diferentes níveis de desempenho. |
Permitir nomes de cabeçalho duplicados |
csvutils-allow-duplicate-header-names |
true |
|
Se nomes de cabeçalho duplicados são permitidos. Os nomes de cabeçalho diferenciam maiúsculas de minúsculas; por exemplo, “name” e “Name” são tratados como campos separados. O tratamento de nomes de cabeçalho duplicados é específico do analisador CSV (quando aplicável):* Apache Commons CSV – os cabeçalhos duplicados resultarão no “deslocamento” dos dados da coluna para a direita, com a criação de novos campos para “unknown_field_index_X”, em que “X” é o número de índice de coluna CSV* Jackson CSV – os cabeçalhos duplicados serão desduplicados, sendo o valor do campo o da coluna CSV duplicada mais à direita* FastCSV – os cabeçalhos duplicados serão desduplicados, sendo o valor do campo o da coluna CSV duplicada mais à esquerda |
Conjunto de caracteres * |
csvutils-character-set |
UTF-8 |
A codificação de caracteres que é usada para codificar/decodificar o arquivo CSV |
|
Ignorar nomes de colunas de cabeçalho CSV |
ignore-csv-header |
falso |
|
Se a primeira linha de um CSV for um cabeçalho e o esquema configurado não corresponder aos campos nomeados na linha do cabeçalho, isso controlará como o leitor interpretará os campos. Se essa propriedade for verdadeira, os nomes de campo mapeados para cada coluna serão orientados apenas pelo esquema configurado e todos os campos que não estiverem no esquema serão ignorados. Se essa propriedade for falsa, os nomes de campo encontrados no cabeçalho do CSV serão usados como nomes de campos. |
Estratégia de acesso ao esquema * |
schema-access-strategy |
infer-schema |
|
Especifica como obter o esquema que deve ser usado para interpretar os dados. |
Ramificação do esquema |
schema-branch |
Especifica o nome da ramificação a ser usada ao procurar o esquema na propriedade do registro de esquema. Se a propriedade do registro de esquema escolhida não for compatível com a ramificação, esse valor será ignorado. |
||
Nome do esquema |
schema-name |
${schema.name} |
Especifica o nome do esquema a ser pesquisado na propriedade do registro de esquema |
|
Leitor de referência de esquema * |
schema-reference-reader |
Implementação do serviço responsável pela leitura dos atributos ou do conteúdo do FlowFile para determinar o identificador da referência de esquema |
||
Registro de esquema |
schema-registry |
Especifica o Controller Service a ser usado para o registro de esquema |
||
Texto do esquema |
schema-text |
${avro.schema} |
O texto de um esquema formatado por Avro |
|
Versão do esquema |
schema-version |
Especifica a versão do esquema a ser pesquisada no registro de esquema. Se não for especificada, será recuperada a versão mais recente do esquema. |
Gerenciamento do estado¶
Esse componente não armazena o estado.
Restrito¶
Esse componente não é restrito.
Considerações sobre os recursos do sistema¶
Esse componente não especifica considerações sobre os recursos do sistema.