Soy bastante nuevo en la programación en general y completamente nuevo en el uso de BigQuery, disculpas si esta es una pregunta estúpida.
Estoy trabajando en un proyecto en el que se supone que los usuarios deben completar un formulario de Google, que luego ejecuta un script de la aplicación de Google para enviar un correo electrónico con algunos datos desde el formulario. Uno de los campos del formulario debe validarse desde BigQuery si es único o no entre 8 millones de filas; si no es único, el usuario recibe un correo electrónico de vuelta que dice que ya lo envió.
El lugar en el que estoy atascado es obtener la consulta de BigQuery como una matriz en el script de la aplicación de Google, que luego debe validarse, ya sea con un índice o .includes().
Lo más cerca que estuve de lo que quiero es obtener el resultado de bigquery, pero no estoy seguro de cómo convertirlo en una matriz utilizable.
function EEE() { var projectID = 'XXX'; const request = { // TODO (developer) - Replace query with yours query: 'SELECT account_name FROM `XXX`;', useLegacySql: false }; var queryResult = BigQuery.Jobs.query(request,projectID); var jobID = queryResult.jobReference.jobID; // Check on status of the Query Job. let sleepTimeMs = 500; while (!queryResult.jobComplete) { Utilities.sleep(sleepTimeMs); sleepTimeMs *= 2; queryResult = BigQuery.Jobs.getQueryResults(projectID, jobID); } Logger.log(queryResult); }Esto me dio la siguiente entrada:
[22-03-18 02:26:25:065 PDT] Logging output too large. Truncating output. {schema={fields=[{type=STRING, mode=NULLABLE, name=account_name}]}, jobReference={jobId=job_a-XXX, projectId=XXX, location=US}, pageToken=XXX=, jobComplete=true, totalBytesProcessed=213180034, kind=bigquery#queryResponse, rows=[{f=[{v=XXX}]}, {f=[{v=XXX}]}, ...............Estoy tratando de obtener el resultado de bigQuery como una matriz, para validar si es único o no con otra variable del script. También lo necesito como variable1, variable2, variable 3 en lugar de con todos los envoltorios a su alrededor. ¿Cuál sería la mejor manera de hacer esto?
¡Gracias de antemano por la ayuda!
Logger tiene un tamaño limitado de lo que puede mostrar en la ventana emergente y es por eso que trunca los resultados. El resultado de su consulta es demasiado grande.
Intente devolverlo en fragmentos con una consulta como:
SELECT account_name FROM XXX order by account_name limit <a> offset <b>;luego puede variar los valores de límite y compensación para devolver los diferentes fragmentos.