【问题标题】:Using Google BigQuery as a backend for Django使用 Google BigQuery 作为 Django 的后端
【发布时间】:2021-03-19 17:10:45
【问题描述】:

我正在考虑使用 Google BigQuery 作为 Django 的后端,但不能确定这是否可行,如果可行,将应用哪些设置。

目前我的Django应用使用的是Postgresql,settings.py中的代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

理想情况下,我想通过 settings.py 设置与 Google BigQuery 的数据库连接,然后像往常一样使用视图和模型。

【问题讨论】:

  • 您不会考虑以事务方式使用 BigQuery 吗?
  • 我希望将 BigQuery 用作数据仓库,并使用 Django 作为前端以图表形式显示聚合数据。

标签: django google-bigquery


【解决方案1】:

这是不可能的,或者至少不支持。您可以直接使用 API,但显然您不会获得 ORM 的任何优势。

【讨论】:

  • Django 的 ORM 支持 PostgreSQL、MySQL、SQLite 和 Oracle。通过pyodbc 为 SQL Server 提供第三方支持。
  • 感谢汤姆提供的信息。目的是为了分析目的以图表的形式显示汇总的汇总数据。
【解决方案2】:

你应该有一个像 postgres、mysql 之类的数据库马达...... 关键是,这个分贝电机是必须的,因为结构就是这样工作的。

当然,您可以从 django 的库中调用 google cloud 并将其用作

from google.oauth2 import service_account from google.auth.transport.requests import AuthorizedSession from google.cloud import datastore from google.cloud import bigquery

在我的情况下,我曾经连接 os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'OAuth2Credential.json'

要生成您的 .json,您应该转到以下文档: https://cloud.google.com/iam/docs/creating-managing-service-account-keys

【讨论】:

  • 嗨,我知道这是一篇旧帖子,我只是想问一下,我正在使用与您相同的东西,JSON API 密钥以便直接使用 BQ API。但是,我的问题是,在部署到 GCP App Engine 期间,您是否将 JSON 与所有其他源代码一起部署?还是 GCP App Engine 会根据您用于部署的服务帐号自动为您检测?
【解决方案3】:

在 Django 中使用 SQLAlchemy 是可能的。

SQLAlchemy 可以使用 pybigquery 驱动程序连接到 bigquery。

请参阅以下内容以了解如何 Configuring Django to use SQLAlchemy.

【讨论】:

    【解决方案4】:

    一切皆有可能。创建一个界面不会是一件大事。但是,我只想保留一个注释:

    Bigquery 并非旨在成为后端数据库,而更像是在商业智能学科中定义的数据仓库。这意味着,谷歌会让你很难执行快速的多用户操作。据我所知,例如更新语句有一些阈值。

    另一方面,如果这纯粹是例如数据输入或数据可视化,那为什么不呢。但话又说回来,我认为 Azure 电源应用程序是它的一种产品。

    【讨论】:

      猜你喜欢
      • 2014-12-18
      • 1970-01-01
      • 2018-02-07
      • 2016-01-14
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多