2016-04-14 3 views
1

У меня есть «дорогостоящий» запрос. Я бы хотел его оптимизировать (сделать его дешевле). Я выполнил запрос и посмотрел на объяснение, которое я считаю весьма полезным для оптимизации времени выполнения.Байты Обработано по запросу

Моя проблема заключается в следующем: для каждого этапа я вижу «строки», но я не вижу «обработанных байтов». Поскольку BQ заряжается с помощью «Bytes Processed», я бы хотел оптимизировать в соответствии с обработанным объемом данных, а не с помощью # отсканированных записей.

Мой вопрос: есть ли способ получить такую ​​информацию? (Объемы прочитанных данных в байтах для каждого этапа выполнения, который фактически считывает данные)

ответ

1

Есть ли способ получить информацию?

Я не думаю, что она доступна для нас (пользователей)
Объяснение Визуализация идет снизу части Jobs: get API

"query": { 
"queryPlan": [ 
    { 
    "name": "Stage 1", 
    "id": "1", 
    "waitRatioAvg": 0.008679262671196536, 
    "waitRatioMax": 0.009519650796361627, 
    "readRatioAvg": 0.45445465918366207, 
    "readRatioMax": 1, 
    "computeRatioAvg": 0.1796969833724843, 
    "computeRatioMax": 0.2585664334066632, 
    "writeRatioAvg": 0.06727424173478641, 
    "writeRatioMax": 0.06727424173478641, 
    "recordsRead": "37098285", 
    "recordsWritten": "37098285", 
    "steps": [ 
    { 
    "kind": "READ", 
    "substeps": [ 

Смотреть подробнее на statistics.query.queryPlan

Для каждый этап, я вижу «Строки», но я не вижу «Bytes Processed». Как заряды BQ по «Bytes Обработанного», я хотел бы, чтобы оптимизировать ...

Вы, скорее всего, знаете, но хотели бы упомянуть
я не думаю, что обвинение основано на сумме всех обработанных байт через все этапы.
Совсем нет! more details here
Плата взимается в соответствии с суммарными данными, обрабатываемыми в выбранных вами столбцах, а общие данные за столбец рассчитываются на основе типов данных в столбце.
Итак, я могу ошибаться, но оптимизация, которую вы ищете, дает полный смысл с точки зрения производительности, а не с точки зрения сборов.

С другой стороны - это слепое пятно для меня - как точно рассчитано billing tier? Каковы факторы? и т. д.
Здесь байты, обработанные для каждого этапа, могут быть полезны, если вы знаете, как это влияет на уровень выставления счетов - так что для меня все еще остается открытым вопрос: o (

+0

Я полагаю, что должна быть корреляция между # байты на этапах READ, а в целом байты проциклированы. В большинстве запросов уровня 1 это должно коррелировать с выставленными байтами tottal. Сказав это, было бы неплохо иметь указание, какой шаг подтолкнул запрос к более высокому уровню ... –

+0

я с вами на этом: o) –

Смежные вопросы