Leer desde BigQuery

Además de leer archivos JSON en Google Cloud Storage, la API de inferencia también admite la lectura de la tabla de BigQuery.

Prepare la tabla de BigQuery

La tabla de BigQuery que procese la API de inferencia debe tener las siguientes columnas:

  1. group_id en tipo INTEGER
  2. datos_nombre en tipo STRING
  3. valor_datos en tipo STRING
  4. start_time en tipo TIMESTAMP
  5. end_time (opcional) en tipo TIMESTAMP

Puede generar la tabla de BigQuery desde cualquier tabla existente con una consulta de BigQuery.

Puedes obtener información sobre cómo exportar el resultado de la consulta a una tabla nueva aquí.

Crea tu conjunto de datos

De manera similar a la guía de inicio rápido, crearás un conjunto de datos de la API de Cloud Inference con el método REST de createdataset.

  1. Crea un archivo de solicitud JSON con el siguiente texto y guárdalo como un archivo de texto sin formato create-gdelt-dataset.json:

    {
      "name":"gdelt_bq_2018_04_data",
      "data_names": [
        "PageURL",
        "PageDomain",
        "PageCountry",
        "PageLanguage",
        "PageTextTheme",
        "PageTextGeo",
        "ImageURL",
        "ImagePopularityRawScore",
        "ImagePopularity",
        "ImageSafeSearch",
        "ImageLabel",
        "ImageWebEntity",
        "ImageWebEntityBestGuessLabel",
        "ImageGeoLandmark",
        "ImageFaceToneHas"
      ],
      "data_sources": [
        { "uri":"infer-test:gdelt_demo.inference_gdelt_demo" },
      ]
    }
    

    Esta tabla de BigQuery contiene los mismos datos con la entrada de la guía de inicio rápido. La tabla es de acceso público, por lo que no necesitarás credenciales de autenticación para acceder a ellas.

  2. Verifica si tienes un token de autorización:

    gcloud auth application-default print-access-token
      
  3. Usa curl para hacer una solicitud createdataset y pasa el token de acceso, y el nombre de archivo de la solicitud JSON que configuraste en el paso 1:

    curl -s -H "Content-Type: application/json" \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      https://infer.googleapis.com/v1/projects/PROJECT_NUMBER/datasets \
      -d @create-gdelt-dataset.json
      

    Ten en cuenta que, para pasar un nombre de archivo a curl, se usa la opción -d (de “datos”) y se incluye un signo @ antes del nombre. Este archivo debe estar en el mismo directorio en el que ejecutaste el comando curl.

    Debería ver una respuesta similar a la siguiente:

    {
      "name": "gdelt_bq_2018_04_data",
      "state": "STATE_PENDING"
    }
    

Luego, puedes consultar el conjunto de datos una vez que se haya cargado.

Para usar tu propia tabla de BigQuery, debes proporcionar el ID de tabla completo en formato <project id>:<dataset name>.<table name>. La cuenta que se usa para llamar a la API de Inference también debe ser un visualizador de datos de BigQuery de la tabla.

Obtener ID de tabla