Configuração da formatação de arquivo

O Destination SDK suporta um conjunto flexível de recursos que você pode configurar de acordo com suas necessidades de integração. Entre esses recursos está o suporte para CSV formatação de arquivo.

Ao criar destinos baseados em arquivo por meio do Destination SDK, é possível definir como os arquivos CSV exportados devem ser formatados. É possível personalizar muitas opções de formatação, como, mas não limitado a:

  • Se o arquivo CSV deve incluir um cabeçalho;
  • Qual caractere usar para citar valores;
  • Como os valores vazios devem ser exibidos.

Dependendo da configuração de destino, os usuários verão determinadas opções na interface do usuário ao se conectarem a um destino baseado em arquivo. Você pode ver a aparência dessas opções na opções de formatação de arquivo para destinos baseados em arquivo documentação.

As configurações de formatação de arquivo fazem parte da configuração do servidor de destino para destinos baseados em arquivo.

Para entender onde esse componente se encaixa em uma integração criada com o Destination SDK, consulte o diagrama no opções de configuração ou consulte o guia sobre como usar o Destination SDK para configurar um destino baseado em arquivo.

É possível configurar as opções de formatação de arquivo por meio da /authoring/destination-servers terminal. Consulte as seguintes páginas de referência de API para obter exemplos detalhados de chamadas de API, onde é possível configurar os componentes mostrados nesta página.

Esta página descreve todas as configurações de formatação de arquivo suportadas para exportado CSV arquivos.

IMPORTANT
Todos os nomes e valores de parâmetros compatíveis com o Destination SDK são diferencia maiúsculas de minúsculas. Para evitar erros de diferenciação entre maiúsculas e minúsculas, use os nomes e valores dos parâmetros exatamente como mostrado na documentação.

Tipos de integração compatíveis supported-integration-types

Consulte a tabela abaixo para obter detalhes sobre quais tipos de integrações suportam a funcionalidade descrita nesta página.

Tipo de integração
Suporte à funcionalidade
Integrações em tempo real (streaming)
Não
Integrações baseadas em arquivo (lote)
Sim

Parâmetros compatíveis supported-parameters

Você pode modificar várias propriedades dos arquivos exportados para corresponder aos requisitos do sistema de recebimento de arquivos de destino, a fim de ler e interpretar de maneira ideal os arquivos recebidos do Experience Platform.

NOTE
As opções de CSV são suportadas somente ao exportar arquivos CSV. A variável fileConfigurations A seção não é obrigatória ao configurar um novo servidor de destino. Se você não passar nenhum valor na chamada de API para as opções de CSV, os padrões da variável tabela de referência mais abaixo serão usados.

Opções de CSV nas quais os usuários não podem selecionar opções de configuração file-configuration-templating-none

No exemplo de configuração abaixo, todas as opções de CSV são predefinidas. As configurações de exportação definidas em cada um dos csvOptions Os parâmetros são finais e os usuários não podem modificá-los.

"fileConfigurations": {
        "compression": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.compression}}"
        },
        "fileType": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.fileType}}"
        },
        "csvOptions": {
            "quote": {
                "templatingStrategy": "NONE",
                "value": "\""
            },
            "quoteAll": {
                "templatingStrategy": "NONE",
                "value": "false"
            },
            "escape": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "escapeQuotes": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "header": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreLeadingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreTrailingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "nullValue": {
                "templatingStrategy": "NONE",
                "value": ""
            },
            "dateFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd"
            },
            "timestampFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
            },
            "charToEscapeQuoteEscaping": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "emptyValue": {
                "templatingStrategy": "NONE",
                "value": ""
            }
        },
        "maxFileRowCount":5000000,
        "includeFileManifest": {
            "templatingStrategy":"PEBBLE_V1",
            "value":"{{ customerData.includeFileManifest }}"
      }
    }

Opções de CSV nas quais os usuários podem selecionar opções de configuração file-configuration-templating-pebble

No exemplo de configuração abaixo, nenhuma das opções de CSV é predefinida. A variável value em cada um dos csvOptions parâmetros é configurado em um campo de dados do cliente correspondente por meio da /destinations terminal (por exemplo customerData.quote para o quote opção de formatação de arquivo) e os usuários podem usar a interface do usuário do Experience Platform para selecionar entre as várias opções configuradas no campo de dados do cliente correspondente. Você pode ver a aparência dessas opções na opções de formatação de arquivo para destinos baseados em arquivo documentação.

{
   "fileConfigurations":{
      "compression":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{% if customerData contains 'compression' and customerData.compression is not empty %}{{customerData.compression}}{% else %}NONE{% endif %}"
      },
      "fileType":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.fileType}}"
      },
      "csvOptions":{
         "sep":{
            "templatingStrategy":"PEBBLE_V1",
            "value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'delimiter' %}{{customerData.csvOptions.delimiter}}{% else %},{% endif %}"
         },
         "quote":{
            "templatingStrategy":"PEBBLE_V1",
            "value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'quote' %}{{customerData.csvOptions.quote}}{% else %}\"{% endif %}"
         },
         "escape":{
            "templatingStrategy":"PEBBLE_V1",
            "value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'escape' %}{{customerData.csvOptions.escape}}{% else %}\\{% endif %}"
         },
         "nullValue":{
            "templatingStrategy":"PEBBLE_V1",
            "value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'nullValue' %}{{customerData.csvOptions.nullValue}}{% else %}null{% endif %}"
         },
         "emptyValue":{
            "templatingStrategy":"PEBBLE_V1",
            "value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'emptyValue' %}{{customerData.csvOptions.emptyValue}}{% else %}{% endif %}"
         }
      },
      "maxFileRowCount":5000000,
      "includeFileManifest": {
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{ customerData.includeFileManifest }}"
      }
   }
}

Referência completa e exemplos de opções de formatação de arquivo compatíveis file-formatting-reference-and-example

TIP
As opções de formatação de arquivo CSV descritas abaixo também estão documentadas na Guia do Apache Spark para arquivos CSV. As descrições usadas abaixo foram tiradas do guia do Apache Spark.

Abaixo está uma referência completa de todas as opções de formatação de arquivo disponíveis em Destination SDK, juntamente com exemplos de saída para cada opção.

Campo
Obrigatório / Opcional
Descrição
Valor padrão
Exemplo de saída 1
Exemplo de saída 2
templatingStrategy
Obrigatório

Para cada opção de formatação de arquivo configurada, é necessário adicionar o parâmetro templatingStrategy, que pode ter dois valores:

  • NONE: use esse valor se não estiver planejando permitir que os usuários selecionem entre valores diferentes para uma configuração. Consulte esta configuração por exemplo, onde as opções de formatação de arquivo são corrigidas.
  • PEBBLE_V1: use esse valor se quiser permitir que os usuários selecionem entre valores diferentes para uma configuração. Nesse caso, você também deve configurar um campo de dados do cliente correspondente no /destination Configuração do endpoint, para exibir as várias opções aos usuários na interface do usuário. Consulte esta configuração para obter um exemplo em que os usuários podem selecionar entre valores diferentes para opções de formatação de arquivo.
-
-
-
compression.value
Opcional
Codec de compactação a ser usado ao salvar dados no arquivo. Valores compatíveis: none, bzip2, gzip, lz4, e snappy.
none
-
-
fileType.value
Opcional
Especifica o formato do arquivo de saída. Valores compatíveis: csv, parquet, e json.
csv
-
-
csvOptions.quote.value
Opcional
Somente para"fileType.value": "csv". Define um caractere único usado para sair de valores entre aspas onde o separador pode ser parte do valor.
null
Exemplo de valor padrão: quote.value: "u0000" —> male,NULJohn,LastNameNUL
Exemplo personalizado: quote.value: "\"" —> male,"John,LastName"
csvOptions.quoteAll.value
Opcional
Somente para"fileType.value": "csv". Indica se todos os valores devem sempre estar entre aspas. O padrão é omitir apenas valores que contenham um caractere de aspas.
false
quoteAll:false --> male,John,"TestLastName"
quoteAll:true -->"male","John","TestLastName"
csvOptions.delimiter.value
Opcional
Somente para"fileType.value": "csv". Define um separador para cada campo e valor. Esse separador pode conter um ou mais caracteres.
,
delimiter:, --> comma-separated values"
delimiter:\t --> tab-separated values
csvOptions.escape.value
Opcional
Somente para"fileType.value": "csv". Define um caractere único usado para “escapar” citações dentro de um valor já citado.
\
"escape":"\\" --> male,John,"Test,\"LastName5"
"escape":"'" --> male,John,"Test,'''"LastName5"
csvOptions.escapeQuotes.value
Opcional
Somente para"fileType.value": "csv". Indica se os valores contendo aspas devem sempre estar entre aspas. O padrão é omitir todos os valores que contenham um caractere de aspas.
true
-
-
csvOptions.header.value
Opcional
Somente para"fileType.value": "csv". Indica se os nomes das colunas devem ser gravados como a primeira linha no arquivo exportado.
true
-
-
csvOptions.ignoreLeadingWhiteSpace.value
Opcional
Somente para"fileType.value": "csv". Indica se os espaços em branco à esquerda devem ser aparados dos valores.
true
ignoreLeadingWhiteSpace:true --> "male","John","TestLastName"
ignoreLeadingWhiteSpace:false–> " male","John","TestLastName"
csvOptions.ignoreTrailingWhiteSpace.value
Opcional
Somente para"fileType.value": "csv". Indica se espaços em branco à direita devem ser aparados de valores.
true
ignoreTrailingWhiteSpace:true --> "male","John","TestLastName"
ignoreTrailingWhiteSpace:false–> "male ","John","TestLastName"
csvOptions.nullValue.value
Opcional
Somente para"fileType.value": "csv". Define a representação da cadeia de caracteres de um valor nulo.
""
nullvalue:"" --> male,"",TestLastName
nullvalue:"NULL" --> male,NULL,TestLastName
csvOptions.dateFormat.value
Opcional
Somente para"fileType.value": "csv". Indica o formato de data.
yyyy-MM-dd
dateFormat:yyyy-MM-dd --> male,TestLastName,John,2022-02-24
dateFormat:MM/dd/yyyy --> male,TestLastName,John,02/24/2022
csvOptions.timestampFormat.value
Opcional
Somente para"fileType.value": "csv". Define a cadeia de caracteres que indica um formato de carimbo de data e hora.
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
-
-
csvOptions.charToEscapeQuoteEscaping.value
Opcional
Somente para"fileType.value": "csv". Define um único caractere usado para escapar do escape para o caractere de citação.
\ quando os caracteres de escape e aspas são diferentes. \0 quando os caracteres escape e aspas são iguais.
-
-
csvOptions.emptyValue.value
Opcional
Somente para"fileType.value": "csv". Define a representação da cadeia de caracteres de um valor vazio.
""
"emptyValue":"" --> male,"",John
"emptyValue":"empty" --> male,empty,John
maxFileRowCount
Opcional
Indica o número máximo de linhas por arquivo exportado, entre 1.000.000 e 10.000.000 linhas.
5,000,000
includeFileManifest
Opcional
Habilita o suporte para exportação de um manifesto de arquivo junto com as exportações de arquivo. O arquivo JSON de manifesto contém informações sobre o local de exportação, o tamanho da exportação e muito mais. O manifesto é nomeado usando o formato manifest-<<destinationId>>-<<dataflowRunId>>.json.

Exibir um exemplo de arquivo de manifesto. O arquivo de manifesto inclui os seguintes campos:

  • flowRunId: A variável execução do fluxo de dados que gerou o arquivo exportado.
  • scheduledTime: a hora em UTC quando o arquivo foi exportado.
  • exportResults.sinkPath: O caminho no local de armazenamento em que o arquivo exportado está depositado.
  • exportResults.name: o nome do arquivo exportado.
  • size: o tamanho do arquivo exportado, em bytes.

Próximas etapas next-steps

Depois de ler este artigo, você terá uma melhor compreensão de como a formatação de arquivos funciona em uma configuração de servidor de destino e como configurá-la.

Para saber mais sobre os outros componentes do servidor de destino, consulte os seguintes artigos:

recommendation-more-help
7f4d1967-bf93-4dba-9789-bb6b505339d6