Origem de lote do Cloud Storage

Esta página oferece orientações sobre como configurar o plug-in de origem em lote do Cloud Storage no Cloud Data Fusion.

O plug-in de origem de lote do Cloud Storage permite ler dados de buckets do Cloud Storage e levá-los ao Cloud Data Fusion para processamento e transformação. Ele permite carregar dados de vários arquivos formatos, incluindo os seguintes:

  • Estruturado: CSV, Avro, Parquet, ORC
  • Semiestruturados: JSON, XML
  • Outros: texto, binário

Antes de começar

O Cloud Data Fusion geralmente tem duas contas de serviço:

Antes de usar o plug-in de fonte em lote do Cloud Storage, conceda a os papéis a seguir para cada conta de serviço.

Agente de serviço da API Cloud Data Fusion

Essa conta de serviço já tem todas as permissões necessárias, e você não precisa adicionar outras.

Conta de serviço do Compute Engine

No projeto do Google Cloud, conceda os seguintes papéis do IAM ou à conta de serviço do Compute Engine:

  • Leitor de bucket legado do Storage (roles/storage.legacyBucketReader). Esse papel predefinido contém a permissão storage.buckets.get necessária.
  • Leitor de objetos do Storage (roles/storage.legacyBucketReader). Esse papel predefinido contém as seguintes permissões necessárias:

    • storage.objects.get
    • storage.objects.list

Configurar o plug-in

  1. Acesse a interface da Web do Cloud Data Fusion e clique em Studio.
  2. Verifique se Pipeline de dados – lote está selecionado (não Tempo real).
  3. No menu Origem, clique em GCS. O nó do Cloud Storage no pipeline.
  4. Para configurar a origem, acesse o nó do Cloud Storage e clique em Propriedades:
  5. Insira as propriedades a seguir. Para uma lista completa, consulte Propriedades:

    1. Digite um Rótulo para o nó do Cloud Storage: exemplo: Cloud Storage tables.
    2. Insira os detalhes da conexão. É possível configurar uma nova conexão única ou uma conexão existente e reutilizável.

      Nova conexão

      Para adicionar uma conexão única ao Cloud Storage, siga estas etapas:

      1. Mantenha a opção Usar conexão desativada.
      2. No campo ID do projeto, deixe o valor como detecção automática.
      3. No campo Tipo de conta de serviço, deixe o valor como Arquivo e o Caminho do arquivo da conta de serviço como detecção automática.

      Conexão reutilizável

      Para reutilizar uma conexão existente, siga estas etapas:

      1. Ative a opção Usar conexão.
      2. Clique em Procurar conexões.
      3. Clique no nome da conexão. Por exemplo, Padrão do Cloud Storage.

      4. Opcional: se uma conexão não existir e você quiser criar uma nova conexão reutilizável, clique em Adicionar conexão e consulte as etapas na guia Nova conexão desta página.

    3. No campo Nome de referência, insira um nome a ser usado para linhagem, por exemplo, data-fusion-gcs-campaign.

    4. No campo Caminho, insira o caminho a ser lido, por exemplo, gs://BUCKET_PATH.

    5. No campo Formato, selecione um dos seguintes formatos de arquivo para os dados que estão sendo lidos:

      • avro
      • blob: o formato blob exige um esquema que contenha um campo chamado "body" do tipo bytes.
      • csv
      • delimitado
      • json (link em inglês)
      • Parquet
      • text (o formato de texto requer um esquema que contenha um campo corpo nomeado do tipo string)
      • tsv
      • O nome de qualquer plug-in de formato que você implantou em seu meio ambiente
    6. Opcional: para testar a conectividade, clique em Ver esquema.

    7. Opcional: no campo Tamanho da amostra, digite o máximo de linhas a serem verificadas. para o tipo de dados selecionado, por exemplo, 1000.

    8. Opcional: no campo Substituir, insira os nomes das colunas e os respectivos tipos de dados a serem ignorados.

    9. Opcional: insira Propriedades avançadas, como um tamanho mínimo de divisão ou um filtro de caminho de expressão regular (consulte Propriedades).

    10. Opcional: no campo Nome do bucket temporário, insira um nome para o bucket do Cloud Storage.

  6. Opcional: clique em Validar e resolva os erros encontrados.

  7. Clique em Fechar. As propriedades serão salvas, e você poderá continuar criando seu pipeline de dados no Studio do Cloud Data Fusion.

Propriedades

Propriedade Macro ativada Propriedade obrigatória Descrição
Rótulo Não Sim O nome do nó no pipeline de dados.
Usar conexão Não Não Procure uma conexão reutilizável com a origem. Para mais informações sobre como adicionar, importar e editar as conexões que aparecem quando ao procurar conexões, consulte Gerenciar conexões.
Conexão Sim Sim Se a opção Usar conexão estiver ativada, o nome do reutilizável selecionada aparecerá neste campo.
ID do projeto Sim Não Usado apenas quando a opção Usar conexão está desativada. Um identificador globalmente exclusivo do projeto.
O padrão é auto-detect.
Tipo de conta de serviço Sim Não Selecione uma das seguintes opções:
  • Caminho do arquivo: o caminho em que a conta de serviço está localizada.
  • JSON: conteúdo JSON da conta de serviço.
Em Service account file path, digite o caminho do arquivo da conta de serviço. Sim Não Usado somente quando o valor do tipo de conta de serviço é File (Arquivo) caminho de conversão. O caminho no sistema de arquivos local da chave da conta de serviço para autorização. Se os jobs forem executados em clusters do Dataproc, defina o valor como detecção automática. Se os jobs forem executados em outros tipos de clusters, precisa estar presente em todos os nós do cluster.
O padrão é auto-detect.
JSON da conta de serviço Sim Não Usado somente quando o valor do tipo de conta de serviço é JSON. O conteúdo do arquivo JSON da conta de serviço.
Nome de referência Não Sim Nome que identifica exclusivamente essa origem para outros serviços, como linhagem de dados e anotação de metadados.
Caminho Sim Sim Caminho para os arquivos a serem lidos. Se um diretório for especificado, encerre o caminho com uma barra invertida (/). Por exemplo, gs://bucket/path/to/directory/. Para corresponder a um padrão de nome de arquivo, é possível usar um asterisco (*) como caractere curinga. Se nenhum arquivo for forem encontrados ou correspondidos, o pipeline falhará.
Formato Não Sim Formato dos dados a serem lidos. O formato precisa ser um dos seguintes:
  • avro
  • blob: o formato blob exige um esquema que contenha um campo chamado "body" do tipo bytes.
  • csv
  • delimitado
  • json (link em inglês)
  • Parquet
  • text: o formato de texto exige um esquema que contenha um campo chamado "body" do tipo string.
  • tsv
  • O nome de qualquer plug-in de formato implantado no ambiente
  • Se o formato for uma macro, só os formatos pré-empacotados poderão ser usados.
Tamanho da amostra Sim Não O número máximo de linhas investigadas para dados automáticos detecção de tipo. O padrão é 1000.
Substituir Sim Não Uma lista de colunas com os dados correspondentes em que a detecção automática do tipo de dados é ignorada.
Delimitador Sim Não Delimitador a ser usado quando o formato é delimitado. Isso é ignorada em outros formatos.
Ativar valores entre aspas Sim Não Define se o conteúdo entre aspas será tratado como um valor. Esta propriedade é usado apenas para os arquivos csv, tsv ou delimitados. Por exemplo, se esta propriedade for definida como verdadeiro, isso gera dois campos: 1, "a, b, c". O primeiro campo tem 1 como valor. A segunda tem a, b, c. Os caracteres de aspas são cortados. O delimitador de nova linha não pode estar entre aspas.
O plug-in presume que as aspas estão corretamente entre as aspas, por exemplo, "a, b, c". Não fechar uma citação ("a,b,c,) causa um erro.
O valor padrão é False.
Usar a primeira linha como cabeçalho Sim Não Define se a primeira linha de cada arquivo será usada como cabeçalho da coluna. Os formatos aceitos são texto, csv, tsv e delimitado.
O padrão é Falso.
Tamanho mínimo da divisão Sim Não Tamanho mínimo, em bytes, para cada partição de entrada. Partições menores aumentam o nível de paralelismo, mas exigem mais recursos e sobrecarga.
Se o valor de Formato for blob, não será possível dividir os dados.
Tamanho máximo da divisão Sim Não Tamanho máximo, em bytes, para cada partição de entrada. Partições menores aumentam o nível de paralelismo, mas exigem mais recursos e sobrecarga.
Se o valor de Formato for blob, não será possível dividir os dados.
O padrão é 128 MB.
Filtro de caminho regex Sim Não Expressão regular à qual os caminhos do arquivo devem corresponder para serem incluídos no entrada. O caminho completo é comparado, não apenas o nome do arquivo. Se nenhum arquivo for fornecido, a filtragem de arquivos não será feita. Para mais informações sobre assinaturas a sintaxe da expressão, consulte Padrão.
Campo de caminho Sim Não Campo de saída para colocar o caminho do arquivo em que o registro foi lido se originou. Se não for especificado, o caminho não será incluído nos registros de saída. Se especificado, o campo precisa existir no esquema de saída como uma string.
Somente o nome do arquivo do caminho Sim Não Se uma propriedade campo de caminho estiver definida, use apenas o nome do arquivo, e não o URI do caminho.
O padrão é Falso.
Ler arquivos recursivamente Sim Não Define se os arquivos serão lidos de forma recursiva no caminho.
O padrão é False.
Permitir entrada vazia Sim Não Define se é permitido um caminho de entrada que não contém dados. Quando definido como False, o plug-in apresentará um erro quando não houver dados para ler. Quando definido como True, nenhum erro é gerado e nenhum registro é lido.
O padrão é Falso.
Arquivo de dados criptografado Sim Não Se os arquivos são criptografados. Para mais informações, consulte Criptografia de arquivos de dados.
O padrão é Falso.
Sufixo do arquivo de metadados de criptografia Sim Não O sufixo do nome do arquivo de metadados de criptografia.
O padrão é metadados.
Propriedades do sistema de arquivos Sim Não Propriedades adicionais para usar com o InputFormat ao ler os dados.
Codificação de arquivos Sim Não A codificação de caracteres dos arquivos a serem lidos.
O padrão é UTF-8.
Esquema de saída Sim Não Se uma propriedade campo de caminho estiver definida, ela precisará estar presente no esquema como uma string.

Criptografia de arquivos de dados

Esta seção descreve a criptografia de arquivos de dados . Se você definir como true, os arquivos serão descriptografados usando a AEAD de streaming fornecida pela biblioteca do Tink. Cada arquivo de dados precisa estar acompanhado de um arquivo de metadados que contenha o código; informações imprecisas ou inadequadas. Por exemplo, um arquivo de dados criptografado gs://BUCKET/PATH_TO_DIRECTORY/file1.csv.enc precisa ter um arquivo de metadados em gs://BUCKET/ PATH_TO_DIRECTORY/file1.csv.enc.metadata. O arquivo de metadados contém um objeto JSON com as seguintes propriedades:

Propriedade Descrição
kms O URI do Cloud Key Management Service usado para criptografar a chave de criptografia de dados.
aad Os dados autenticados adicionais codificados em Base64 usados no criptografia.
key set Um objeto JSON que representa as informações do conjunto de chaves serializado da biblioteca do Tink.

Exemplo

    /* Counting example */
    {

      "kms": "gcp-kms://projects/my-key-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/mykey",

      "aad": "73iT4SUJBM24umXecCCf3A==",

      "keyset": {

          "keysetInfo": {

              "primaryKeyId": 602257784,

              "keyInfo": [{

                  "typeUrl": "type.googleapis.com/google.crypto.tink.AesGcmHkdfStreamingKey",

                  "outputPrefixType": "RAW",

                  "keyId": 602257784,

                  "status": "ENABLED"

              }]

          },

          "encryptedKeyset": "CiQAz5HH+nUA0Zuqnz4LCnBEVTHS72s/zwjpcnAMIPGpW6kxLggSrAEAcJKHmXeg8kfJ3GD4GuFeWDZzgGn3tfolk6Yf5d7rxKxDEChIMWJWGhWlDHbBW5B9HqWfKx2nQWSC+zjM8FLefVtPYrdJ8n6Eg8ksAnSyXmhN5LoIj6az3XBugtXvCCotQHrBuyoDY+j5ZH9J4tm/bzrLEjCdWAc+oAlhsUAV77jZhowJr6EBiyVuRVfcwLwiscWkQ9J7jjHc7ih9HKfnqAZmQ6iWP36OMrEn"

      }

    }
    

Notas de lançamento

A seguir