Не удалось подключиться к BigQuery с помощью Python - ServiceUnavailable - PullRequest
0 голосов
/ 05 августа 2020

запрос данных из BigQuery работал у меня. Затем я обновил свои пакеты Google (например, google-cloud-bigquery), и внезапно я больше не мог загружать данные. К сожалению, я больше не знаю старую версию пакета, который использовал. Теперь я использую версию google-cloud-bigquery 1.26.1.

Вот мой код, который выполнялся:

from google.cloud import bigquery
from google.oauth2 import service_account
import pandas as pd

KEY_FILE_LOCATION = "path_to_json"
PROCECT_ID = 'bigquery-123454'

credentials = service_account.Credentials.from_service_account_file(KEY_FILE_LOCATION)
client = bigquery.Client(credentials= credentials,project=PROCECT_ID)

query_job = client.query("""
SELECT
x,
y
FROM
`bigquery-123454.624526435.ga_sessions_*` 
WHERE
_TABLE_SUFFIX BETWEEN '20200501' AND '20200502' 
""")

results = query_job.result()

df = results.to_dataframe()

За исключением последней строки df = results.to_dataframe() код работает отлично. Теперь я получаю устаревшую ошибку, которая состоит из трех частей:

Часть 1:

_InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
    status = StatusCode.UNAVAILABLE
    details = "failed to connect to all addresses"
    debug_error_string = "{"created":"@1596627109.629000000","description":"Failed to pick subchannel","file":"src/core/ext/filters/client_channel/client_channel.cc","file_line":3948,"referenced_errors":[{"created":"@1596627109.629000000","description":"failed to connect to all addresses","file":"src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc","file_line":394,"grpc_status":14}]}"
>

Часть 2:

ServiceUnavailable: 503 failed to connect to all addresses

Часть 3:

RetryError: Deadline of 600.0s exceeded while calling functools.partial(<function _wrap_unary_errors.<locals>.error_remapped_callable at 0x0000000010BD3C80>, table_reference {
  project_id: "bigquery-123454"
  dataset_id: "_a0003e6c1ab4h23rfaf0d9cf49ac0e90083ca349e"
  table_id: "anon2d0jth_f891_40f5_8c63_76e21ab5b6f5"
}
requested_streams: 1
read_options {
}
format: ARROW
parent: "projects/bigquery-123454"
, metadata=[('x-goog-request-params', 'table_reference.project_id=bigquery-123454&table_reference.dataset_id=_a0003e6c1abanaw4egacf0d9cf49ac0e90083ca349e'), ('x-goog-api-client', 'gl-python/3.7.3 grpc/1.30.0 gax/1.22.0 gapic/1.0.0')]), last exception: 503 failed to connect to all addresses

У меня нет объяснения этой ошибки. Не думаю, что это как-то связано с обновлением пакетов.

Однажды у меня были проблемы с прокси, но эти проблемы вызвали другую / другую ошибку.

Мой коллега сказал, что проект bigquery-123454 все еще доступен в BigQuery.

Есть идеи?

Заранее благодарим за помощь!

Ответы [ 2 ]

1 голос
/ 06 августа 2020

Я нашел ответ: после понижения версии пакета "google-cloud-bigquery" с версии 1.26.1 до 1.18.1 код снова заработал! Итак, новый пакет вызвал ошибки. Я понизил версию пакета, используя pip install google-cloud-bigquery==1.18.1 --force-reinstall

1 голос
/ 05 августа 2020

Ошибка 503 возникает, когда есть проблема с сетью. Повторите попытку через некоторое время или повторите попытку. Вы можете узнать больше об ошибке на Google Cloud Page

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...