Importar de BigQuery

Puede crear almacenes de datos a partir de tablas de BigQuery de dos formas:

  • Ingestión única: importa datos de una tabla de BigQuery a un almacén de datos. Los datos del almacén de datos no cambian a menos que actualices los datos manualmente.

  • Ingestión periódica: importa datos de una o varias tablas de BigQuery y define una frecuencia de sincronización que determina con qué frecuencia se actualizan los almacenes de datos con los datos más recientes del conjunto de datos de BigQuery.

En la siguiente tabla se comparan las dos formas de importar datos de BigQuery a los almacenes de datos de Gemini Enterprise.

Ingestión única Ingestión periódica
Disponible de forma general. Vista previa pública.
Los datos deben actualizarse manualmente. Los datos se actualizan automáticamente cada 1, 3 o 5 días. Los datos no se pueden actualizar manualmente.
Gemini Enterprise crea un único almacén de datos a partir de una tabla de BigQuery. Gemini Enterprise crea un conector de datos para un conjunto de datos de BigQuery y un almacén de datos (denominado almacén de datos de entidades) para cada tabla especificada. En cada conector de datos, las tablas deben tener el mismo tipo de datos (por ejemplo, estructurados) y estar en el mismo conjunto de datos de BigQuery.
Los datos de varias tablas se pueden combinar en un único almacén de datos. Para ello, primero se ingieren los datos de una tabla y, después, se añaden más datos de otra fuente o tabla de BigQuery. Como no se admite la importación manual de datos, los datos de un almacén de datos de entidad solo se pueden obtener de una tabla de BigQuery.
Se admite el control de acceso a fuentes de datos. No se admite el control de acceso a la fuente de datos. Los datos importados pueden contener controles de acceso, pero estos controles no se respetarán.
Puedes crear un almacén de datos con la consola o la API.Google Cloud Debes usar la consola para crear conectores de datos y sus almacenes de datos de entidades.
Cumple los requisitos de CMEK. Cumple los requisitos de CMEK.

Importar una vez desde BigQuery

Para ingerir datos de una tabla de BigQuery, sigue estos pasos para crear un almacén de datos e ingerir datos mediante la Google Cloud consola o la API.

Antes de importar los datos, consulta el artículo Preparar datos para la ingesta.

Consola

Para usar la consola y extraer datos de BigQuery, sigue estos pasos: Google Cloud

  1. En la Google Cloud consola, ve a la página Gemini Enterprise.

    Gemini Enterprise

  2. Vaya a la página Almacenes de datos.

  3. Haz clic en Crear almacén de datos.

  4. En la página Seleccionar una fuente de datos, selecciona BigQuery.

  5. Selecciona el tipo de datos que vas a importar.

  6. Haz clic en Una vez.

  7. En el campo Ruta de BigQuery, haz clic en Examinar, selecciona una tabla que hayas preparado para la ingesta y, a continuación, haz clic en Seleccionar. También puedes introducir la ubicación de la tabla directamente en el campo Ruta de BigQuery.

  8. Haz clic en Continuar.

  9. Si vas a importar datos estructurados una sola vez, sigue estos pasos:

    1. Asigna campos a propiedades clave.

    2. Si faltan campos importantes en el esquema, usa Añadir nuevo campo para añadirlos.

      Para obtener más información, consulta Información sobre la detección automática y la edición.

    3. Haz clic en Continuar.

  10. Elige una región para tu almacén de datos.

  11. Escribe el nombre del almacén de datos.

  12. Haz clic en Crear.

  13. Para comprobar el estado de la ingestión, vaya a la página Almacenes de datos y haga clic en el nombre del almacén de datos para ver los detalles en la página Datos. Cuando el estado de la columna de la pestaña Actividad cambie de En curso a Importación completada, la ingesta habrá finalizado.

    En función del tamaño de los datos, la ingestión puede tardar desde varios minutos hasta varias horas.

REST

Para usar la línea de comandos para crear un almacén de datos e importar datos de BigQuery, sigue estos pasos.

  1. Crea un almacén de datos.

    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"]
    }'
    

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto.
    • DATA_STORE_ID: el ID del almacén de datos que quieres crear. Este ID solo puede contener letras minúsculas, dígitos, guiones bajos y guiones.
    • DATA_STORE_DISPLAY_NAME: el nombre visible del almacén de datos que quieres crear.

    Opcional: Si vas a subir datos no estructurados y quieres configurar el análisis de documentos o activar la fragmentación de documentos para RAG, especifica el objeto documentProcessingConfig e inclúyelo en tu solicitud de creación del almacén de datos. Te recomendamos que configures un analizador OCR para PDFs si vas a ingerir PDFs escaneados. Para saber cómo configurar las opciones de análisis o de división en fragmentos, consulta el artículo Analizar y dividir en fragmentos documentos.

  2. Importar datos de BigQuery.

    Si ha definido un esquema, asegúrese de que los datos se ajusten a él.

    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"
      }
    }'
    

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto.
    • DATA_STORE_ID: el ID del almacén de datos.
    • DATASET_ID: el ID del conjunto de datos de BigQuery.
    • TABLE_ID: el ID de la tabla de BigQuery.
      • Si la tabla de BigQuery no está en PROJECT_ID, debes dar a la cuenta de servicio service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com permiso de "lector de datos de BigQuery" para la tabla de BigQuery. Por ejemplo, si vas a importar una tabla de BigQuery del proyecto de origen "123" al proyecto de destino "456", otorga permisos de service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com a la tabla de BigQuery del proyecto "123".
    • DATA_SCHEMA: opcional. Los valores son document y custom. El valor predeterminado es document.
      • document: la tabla de BigQuery que utilices debe cumplir el esquema predeterminado de BigQuery que se proporciona en Preparar datos para la ingesta. Puedes definir el ID de cada documento tú mismo, mientras envuelves todos los datos en la cadena jsonData.
      • custom: se acepta cualquier esquema de tabla de BigQuery y Gemini Enterprise genera automáticamente los IDs de cada documento que se importa.
    • ERROR_DIRECTORY: opcional. Un directorio de Cloud Storage con información sobre errores de la importación, por ejemplo, gs://<your-gcs-bucket>/directory/import_errors. Google recomienda dejar este campo en blanco para que Gemini Enterprise cree automáticamente un directorio temporal.
    • RECONCILIATION_MODE: opcional. Los valores son FULL y INCREMENTAL. El valor predeterminado es INCREMENTAL. Si especificas INCREMENTAL , se realizará una actualización incremental de los datos de BigQuery en tu almacén de datos. De esta forma, se realiza una operación upsert, que añade documentos nuevos y sustituye los documentos que ya existen por documentos actualizados con el mismo ID. Si especifica FULL, se volverán a basar por completo los documentos de su almacén de datos. Es decir, los documentos nuevos y actualizados se añaden al almacén de datos, y los documentos que no están en BigQuery se eliminan del almacén de datos. El modo FULL es útil si quieres eliminar automáticamente los documentos que ya no necesitas.
    • AUTO_GENERATE_IDS: opcional. Especifica si se deben generar automáticamente los IDs de los documentos. Si se define como true, los IDs de los documentos se generan a partir de un hash de la carga útil. Ten en cuenta que es posible que los IDs de documento generados no sean coherentes en varias importaciones. Si generas automáticamente IDs en varias importaciones, Google te recomienda que definas reconciliationMode como FULL para mantener IDs de documento coherentes.

      Especifica autoGenerateIds solo cuando bigquerySource.dataSchema se haya definido como custom. De lo contrario, se devuelve un error INVALID_ARGUMENT. Si no especifica autoGenerateIds o lo define como false, debe especificar idField. De lo contrario, no se podrán importar los documentos.

    • ID_FIELD: opcional. Especifica qué campos son los IDs de documento. En el caso de los archivos de origen de BigQuery, idField indica el nombre de la columna de la tabla de BigQuery que contiene los IDs de los documentos.

      Especifica idField solo cuando: (1) bigquerySource.dataSchema se haya definido como custom y (2) auto_generate_ids se haya definido como false o no se haya especificado. De lo contrario, se devuelve un error INVALID_ARGUMENT.

      El valor del nombre de la columna de BigQuery debe ser de tipo string, debe tener entre 1 y 63 caracteres y debe cumplir la RFC-1034. De lo contrario, no se podrán importar los documentos.

Conectarse a BigQuery con sincronización periódica

Antes de importar los datos, consulta el artículo Preparar datos para la ingesta.

En el siguiente procedimiento se describe cómo crear un almacén de datos de BigQuery que sincronice periódicamente los datos de un conjunto de datos de BigQuery. Si tu conjunto de datos tiene varias tablas, puedes añadirlas al almacén de datos de BigQuery que estés creando. Cada tabla que añada se denomina entidad. Gemini Enterprise crea un almacén de datos independiente para cada entidad. Por lo tanto, cuando creas el almacén de datos con la Google Cloud consola, obtienes una colección de almacenes de datos que representan estas entidades de datos ingeridas.

Los datos del conjunto de datos se sincronizan periódicamente con los almacenes de datos de la entidad. Puedes especificar que la sincronización se realice a diario, cada tres días o cada cinco días.

Consola

Para crear un almacén de datos que sincronice periódicamente los datos de un conjunto de datos de BigQuery con Gemini Enterprise, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Gemini Enterprise.

    Gemini Enterprise

  2. En el menú de navegación, haga clic en Almacenes de datos.

  3. Haz clic en Crear almacén de datos.

  4. En la página Fuente, selecciona BigQuery.

  5. Selecciona el tipo de datos que vas a importar.

  6. Haz clic en Periódica.

  7. Seleccione la frecuencia de sincronización, es decir, la frecuencia con la que quiere que el conector de Gemini Enterprise se sincronice con el conjunto de datos de BigQuery. Puedes cambiar la frecuencia más adelante.

  8. En el campo Ruta del conjunto de datos de BigQuery, haz clic en Buscar y selecciona el conjunto de datos que contiene las tablas que has preparado para la ingesta. También puedes introducir la ubicación de la tabla directamente en el campo Ruta de BigQuery. El formato de la ruta es projectname.datasetname.

  9. En el campo Tablas que sincronizar, haga clic en Examinar y, a continuación, seleccione una tabla que contenga los datos que quiera incluir en su almacén de datos.

  10. Si hay otras tablas en el conjunto de datos que quieras usar para los almacenes de datos, haz clic en Añadir tabla y especifica también esas tablas.

  11. Haz clic en Continuar.

  12. Elige una región para tu almacén de datos, introduce un nombre para tu conector de datos y haz clic en Crear.

    Ya has creado un conector de datos que sincronizará periódicamente los datos con el conjunto de datos de BigQuery. Además, ha creado uno o varios almacenes de datos de entidades. Los almacenes de datos tienen los mismos nombres que las tablas de BigQuery.

  13. Para comprobar el estado de la ingestión, vaya a la página Almacenes de datos y haga clic en el nombre del conector de datos para ver los detalles en la página Datos > pestaña Actividad de ingestión de datos. Cuando el estado de la columna de la pestaña Actividad cambie de En curso a Completado, la primera ingestión se habrá completado.

    En función del tamaño de los datos, la ingestión puede tardar desde varios minutos hasta varias horas.

Después de configurar la fuente de datos e importar datos por primera vez, el almacén de datos sincroniza los datos de esa fuente con la frecuencia que elijas durante la configuración. Aproximadamente una hora después de crear el conector de datos, se produce la primera sincronización. La siguiente sincronización se producirá aproximadamente 24, 72 o 120 horas después.

Pasos siguientes