Я пытаюсь перечислить данные в таблице с помощью Python API:результаты BigQuery слишком большой ответ
tableDataList = tableDataCollection.list(**params).execute(http=http)
Разрешенные Params:
list(projectId=*, datasetId=*, tableId=*, pageToken=None, maxResults=None, startIndex=None)
Ошибка я получаю это:
apiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/bigquery/v2/projects/myproject/queries?alt=json returned "Response too large to return.">
В настоящее время я создаю задание запроса и получаю возвращаемый тайтл обратно, и в этой целевой таблице я перечисляю данные (для производительности среди Другие). Я читал, что могу использовать allowLargeResults
, но я не могу найти его на конечных точках tabledata.list
или jobs.query
. Где я могу установить, как и как решить проблему? Данные составляют около 90 мб для строк 97 тыс.
UPDATE:
Я изменил запрос, чтобы использовать таблицу назначения (с jobs.insert
), на котором я могу затем установить allowLargeResults
в True
.
body = {
'configuration': {
'query': {
'createDisposition': 'CREATE_IF_NEEDED',
'writeDisposition': 'WRITE_TRUNCATE',
'useQueryCache': False,
'allowLargeResults': True,
'destinationTable': {
'projectId': PROJECT_ID,
'datasetId': DATASET_ID,
'tableId': 'tmp_{0}'.format(TABLE_ID),
},
'query': query,
}
}
}
Однако, я все еще получаю ту же ошибку:
ResponseTooLarge: Response too large to return.
'Явное назначение' ммм ... Я буду смотреть на это, спасибо за подсказку. – Tjorriemorrie
Я обновил свой вопрос; до сих пор нет успеха – Tjorriemorrie