Команда Google BigQuery "bq show", возвращающая: sqlite3.OperationalError: база данных заблокирована - PullRequest
0 голосов
/ 15 мая 2018

У меня есть эта ошибка, и я действительно не понимаю, почему это происходит,

Я запускаю несколько скриптов каждые 10 минут, они делают несколько вещей в одном наборе данных в BigQuery, скрипты в основном сравниваютсястроки некоторых таблиц и извлекая / помещая в них некоторые данные, они используют «bq show» «bq query с --replace для таблицы в наборе данных» и «bq extract» по некоторым причинам, иногда я получаю «базу данных заблокированную»msgstr "ошибка, однако я не думаю, что что-то из того, что я запускаю, блокирует БД, это только.

ошибка такая:

    Traceback (most recent call last):
    File "/usr/lib64/google-cloud-sdk/bin/bootstrapping/bq.py", line 79, in <module>
exceptions.HandleError(e, 'bq')
    File "/usr/lib64/google-cloud-sdk/bin/bootstrapping/bq.py", line 75, in <module>
bootstrapping.CheckCredOrExit()
    File "/usr/lib64/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 110, in CheckCredOrExit
c_store.Load()
    File "/usr/lib64/google-cloud-sdk/lib/googlecloudsdk/core/credentials/store.py", line 358, in Load
Refresh(cred)
    File "/usr/lib64/google-cloud-sdk/lib/googlecloudsdk/core/credentials/store.py", line 377, in Refresh
credentials.refresh(http_client or http.Http())
    File "/usr/lib64/google-cloud-sdk/lib/third_party/oauth2client/client.py", line 571, in refresh
self._refresh(http.request)
    File "/usr/lib64/google-cloud-sdk/lib/third_party/oauth2client/client.py", line 793, in _refresh
self._do_refresh_request(http_request)
    File "/usr/lib64/google-cloud-sdk/lib/third_party/oauth2client/client.py", line 837, in _do_refresh_request
self.store.locked_put(self)
    File "/usr/lib64/google-cloud-sdk/lib/googlecloudsdk/core/credentials/creds.py", line 227, in locked_put
getattr(self._credentials, 'rapt_token', None))
    File "/usr/lib64/google-cloud-sdk/lib/googlecloudsdk/core/credentials/creds.py", line 181, in Store
(account_id, access_token, token_expiry, rapt_token))
    File "/usr/lib64/google-cloud-sdk/lib/googlecloudsdk/core/credentials/creds.py", line 167, in _Execute
cur.Execute(*args)
    File "/usr/lib64/google-cloud-sdk/lib/googlecloudsdk/core/credentials/creds.py", line 106, in Execute
return self._cursor.execute(*args)
    sqlite3.OperationalError: database is locked

Есть идеи ??

1 Ответ

0 голосов
/ 15 мая 2018

Вероятно, что другой процесс использует файл credentials.db. Файл credentials.db существует в вашем каталоге конфигурации пользователя, который вы можете найти, запустив gcloud info.

В Linux вы можете увидеть, какой процесс использует файл с

команда 'ФАЙЛ' fuser.

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