Importar do BigQuery

É possível criar repositórios de dados com tabelas do BigQuery de duas maneiras:

  • Ingestão única: você importa dados de uma tabela do BigQuery para um repositório de dados. Os dados no repositório de dados não mudam, a menos que você atualize os dados manualmente .

  • Ingestão periódica: você importa dados de uma ou mais tabelas do BigQuery e define uma frequência de sincronização que determina a frequência com que os repositórios de dados são atualizados com os dados mais recentes do conjunto de dados do BigQuery.

A tabela a seguir compara as duas maneiras de importar dados do BigQuery para repositórios de dados do Gemini Enterprise.

Ingestão única Ingestão periódica
Disponibilidade geral (GA). Pré-lançamento público.
Os dados precisam ser atualizados manualmente. Os dados são atualizados automaticamente a cada 1, 3 ou 5 dias. Não é possível atualizar os dados manualmente.
O Gemini Enterprise cria um único repositório de dados de uma tabela no BigQuery. O Gemini Enterprise cria um conector de dados para um conjunto de dados do BigQuery e um repositório de dados (chamado de repositório de dados de entidade) para cada tabela especificada. Para cada conector de dados, as tabelas precisam ter o mesmo tipo de dados (por exemplo, estruturado ) e estar no mesmo conjunto de dados do BigQuery.
Os dados de várias tabelas podem ser combinados em um repositório de dados. Para isso, primeiro ingira dados de uma tabela e, em seguida, mais dados de outra fonte ou tabela do BigQuery. Como a importação manual de dados é indisponível, os dados em um repositório de dados de entidade só podem ser originados de uma tabela do BigQuery.
O controle de acesso à fonte de dados é aceito. O controle de acesso à fonte de dados está indisponível. Os dados importados podem conter controles de acesso, mas eles não serão respeitados.
É possível criar um repositório de dados usando o Google Cloud console ou a API. É necessário usar o console para criar conectores de dados e os repositórios de dados de entidades.
Compatível com CMEK. Compatível com CMEK.

Antes de começar

Para importar dados de um projeto de origem diferente do projeto com o repositório de dados do Gemini Enterprise, conceda os seguintes papéis do Identity and Access Management (IAM) à conta de serviço no projeto que contém o repositório de dados do Gemini Enterprise: Google Cloud Google Cloud service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com

Importar uma vez do BigQuery

Para ingerir dados de uma tabela do BigQuery, siga estas etapas para criar um repositório de dados e ingerir dados usando o Google Cloud console ou a API.

Antes de importar os dados, consulte Preparar dados para ingestão.

Console

Para usar o Google Cloud console para ingerir dados do BigQuery, siga estas etapas:

  1. No Google Cloud console, acesse a página Gemini Enterprise.

    Gemini Enterprise

  2. Acesse a página Repositório de dados.

  3. Clique em Criar armazenamento de dados.

  4. Na página Selecione uma fonte de dados, escolha BigQuery.

  5. Selecione o tipo de dados que você está importando.

  6. Clique em Uma vez.

  7. No campo Caminho do BigQuery , clique em Procurar , selecione uma tabela que você preparou para ingestão e clique em Selecionar. Como alternativa, insira o local da tabela diretamente no campo Caminho do BigQuery.

  8. Clique em Continuar.

  9. Se você estiver fazendo uma importação única de dados estruturados:

    1. Mapeie os campos para as propriedades principais.

    2. Se houver campos importantes ausentes do esquema, use Adicionar novo campo para adicioná-los.

      Para mais informações, consulte Sobre a detecção e edição automáticas.

    3. Clique em Continuar.

  10. Escolha uma região para o repositório de dados.

  11. Insira um nome para o repositório de dados.

  12. Clique em Criar.

  13. Para verificar o status da ingestão, acesse a página Repositórios de dados e clique no nome do repositório de dados para conferir os detalhes na página Dados. Quando a coluna de status na guia Atividade mudar de Em andamento para Importação concluída, a ingestão será concluída.

    Dependendo do tamanho dos dados, a ingestão pode levar de vários minutos a várias horas.

REST

Para usar a linha de comando para criar um repositório de dados e importar dados do BigQuery, siga estas etapas.

  1. Crie um repositório de dados.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \
    -d '{
      "displayName": "DATA_STORE_DISPLAY_NAME",
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"]
    }'
    

    Substitua:

    • PROJECT_ID: ID do projeto.
    • DATA_STORE_ID: o ID do repositório de dados que você quer criar. Esse ID pode conter apenas letras minúsculas, dígitos, sublinhados e hifens.
    • DATA_STORE_DISPLAY_NAME: o nome de exibição do repositório de dados que você quer criar.

    Opcional: se você estiver fazendo upload de dados não estruturados e quiser configurar a análise de documentos ou ativar a divisão de documentos para RAG, especifique o documentProcessingConfig objeto e inclua-o na solicitação de criação do repositório de dados. A configuração de um analisador de OCR para PDFs é recomendada se você estiver ingerindo PDFs digitalizados. Para saber como configurar opções de análise ou divisão, consulte Analisar e dividir documentos.

  2. Importar dados do BigQuery.

    Se você definiu um esquema, verifique se os dados estão em conformidade com ele.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
    -d '{
      "bigquerySource": {
        "projectId": "PROJECT_ID",
        "datasetId":"DATASET_ID",
        "tableId": "TABLE_ID",
        "dataSchema": "DATA_SCHEMA",
        "aclEnabled": "BOOLEAN"
      },
      "reconciliationMode": "RECONCILIATION_MODE",
      "autoGenerateIds": "AUTO_GENERATE_IDS",
      "idField": "ID_FIELD",
      "errorConfig": {
        "gcsPrefix": "ERROR_DIRECTORY"
      }
    }'
    

    Substitua:

    • PROJECT_ID: ID do projeto.
    • DATA_STORE_ID: o ID do repositório de dados.
    • DATASET_ID: o ID do conjunto de dados do BigQuery.
    • TABLE_ID: o ID da tabela do BigQuery.
      • Se a tabela do BigQuery não estiver em PROJECT_ID, conceda à conta de serviço service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com a permissão "Leitor de dados do BigQuery" para a tabela do BigQuery. Por exemplo, se você estiver importando uma tabela do BigQuery do projeto de origem "123" para o projeto de destino "456", conceda permissões service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com para a tabela do BigQuery no projeto "123".
    • DATA_SCHEMA: opcional. Os valores são document e custom. O padrão é document.
      • document: a tabela do BigQuery que você usa precisa estar em conformidade com o esquema padrão do BigQuery fornecido em Preparar dados para ingestão. É possível definir o ID de cada documento, enquanto envolve todos os dados na string jsonData.
      • custom: qualquer esquema de tabela do BigQuery é aceito, e o Gemini Enterprise gera automaticamente os IDs de cada documento importado.
    • ERROR_DIRECTORY: opcional. Um diretório do Cloud Storage para informações de erro sobre a importação, por exemplo, gs://<your-gcs-bucket>/directory/import_errors. O Google recomenda deixar esse campo vazio para que o Gemini Enterprise crie automaticamente um diretório temporário.
    • RECONCILIATION_MODE: opcional. Os valores são FULL e INCREMENTAL. O padrão é INCREMENTAL. A especificação de INCREMENTAL causa uma atualização incremental de dados do BigQuery para o repositório de dados. Isso faz uma operação de upsert, que adiciona novos documentos e substitui os documentos atuais por documentos atualizados com o mesmo ID. A especificação de FULL causa uma nova base completa dos documentos no repositório de dados. Em outras palavras, documentos novos e atualizados são adicionados ao repositório de dados, e os documentos que não estão no BigQuery são removidos do repositório de dados. O modo FULL é útil se você quiser excluir automaticamente documentos que não são mais necessários.
    • AUTO_GENERATE_IDS: opcional. Especifica se os IDs de documentos serão gerados automaticamente. Se definido como true, os IDs de documentos serão gerados com base em um hash do payload. Os IDs de documentos gerados podem não permanecer consistentes em várias importações. Se você gerar IDs automaticamente em várias importações, o Google recomenda definir reconciliationMode como FULL para manter IDs de documentos consistentes.

      Especifique autoGenerateIds apenas quando bigquerySource.dataSchema estiver definido como custom. Caso contrário, um erro INVALID_ARGUMENT será retornado. Se você não especificar autoGenerateIds ou defini-lo como false, especifique idField. Caso contrário, os documentos não serão importados.

    • ID_FIELD: opcional. Especifica quais campos são os IDs de documentos. Para arquivos de origem do BigQuery, idField indica o nome da coluna na tabela do BigQuery que contém os IDs de documentos.

      Especifique idField apenas quando: (1) bigquerySource.dataSchema estiver definido como custom e (2) auto_generate_ids estiver definido como false ou não especificado. Caso contrário, um erro INVALID_ARGUMENT será retornado.

      O valor do nome da coluna do BigQuery precisa ser do tipo string, ter entre 1 e 63 caracteres e estar em conformidade com RFC-1034. Caso contrário, os documentos não serão importados.

Conectar-se ao BigQuery com sincronização periódica

Antes de importar os dados, consulte Preparar dados para ingestão.

O procedimento a seguir descreve como criar um repositório de dados do BigQuery que sincroniza dados periodicamente de um conjunto de dados do BigQuery. Se o conjunto de dados tiver várias tabelas, você poderá adicioná-las ao repositório de dados do BigQuery que está criando. Cada tabela adicionada é chamada de entidade. O Gemini Enterprise cria um repositório de dados separado para cada entidade. Portanto, ao criar o repositório de dados usando o Google Cloud console, você recebe uma coleção de repositórios de dados que representam essas entidades de dados ingeridas.

Os dados do conjunto de dados são sincronizados periodicamente com os repositórios de dados da entidade. É possível especificar a sincronização diariamente, a cada três dias ou a cada cinco dias.

Console

Para criar um repositório de dados que sincroniza dados periodicamente de um conjunto de dados do BigQuery para o Gemini Enterprise, siga estas etapas:

  1. No Google Cloud console, acesse a página Gemini Enterprise.

    Gemini Enterprise

  2. No menu de navegação, selecione Repositório de dados.

  3. Clique em Criar armazenamento de dados.

  4. Na página Origem, selecione BigQuery.

  5. Selecione o tipo de dados que você está importando.

  6. Clique em Periódico.

  7. Selecione a Frequência de sincronização, a frequência com que você quer que o conector do Gemini Enterprise seja sincronizado com o conjunto de dados do BigQuery. É possível mudar a frequência mais tarde.

  8. No campo Caminho do conjunto de dados do BigQuery, clique em Procurar, selecione o conjunto de dados que contém as tabelas que você preparou para ingestão. Como alternativa, insira o local da tabela diretamente no campo Caminho do BigQuery. O formato do caminho é projectname.datasetname.

  9. No campo Tabelas a serem sincronizadas , clique em Procurar e selecione uma tabela que contenha os dados que você quer para o repositório de dados.

  10. Se houver outras tabelas no conjunto de dados que você quer usar para repositórios de dados, clique em Adicionar tabela e especifique essas tabelas também.

  11. Clique em Continuar.

  12. Escolha uma região para o repositório de dados, insira um nome para o conector de dados e clique em Criar.

    Agora você criou um conector de dados, que vai sincronizar dados periodicamente com o conjunto de dados do BigQuery. Além disso, você criou um ou mais repositórios de dados de entidades. Os repositórios de dados têm os mesmos nomes das tabelas do BigQuery.

  13. Para verificar o status da ingestão, acesse a página Repositórios de dados e clique no nome do conector de dados para conferir os detalhes na página Dados > guia Atividade de ingestão de dados. Quando a coluna de status na guia Atividade mudar de Em andamento para Concluído, a primeira ingestão será concluída.

    Dependendo do tamanho dos dados, a ingestão pode levar de vários minutos a várias horas.

Depois de configurar a fonte de dados e importar os dados pela primeira vez, o repositório de dados sincroniza as informações dessa fonte com uma frequência que você seleciona durante a configuração. Cerca de uma hora após a criação do conector de dados, a primeira sincronização ocorre. A próxima sincronização ocorre cerca de 24 horas, 72 horas ou 120 horas depois.

Próximas etapas

  • Para anexar seu repositório de dados a um app, crie um app e selecione o repositório seguindo as etapas em Criar um app de pesquisa.

  • Para ver como os resultados da pesquisa aparecem depois que o app e o repositório de dados são configurados, consulte Visualizar resultados da pesquisa.