0

SQL Alchemy 似乎可以连接到在 Google Cloud SQL 上运行的 MySQL 表。但是,我花了一些时间寻找 NoSQL 数据库 Google Cloud Bigtable 的包装器,但找不到足够成熟的东西。

只是想知道如何从 SQL Alchemy 管理 Google Cloud Bigtable。

4

2 回答 2

1

有一些 Python API 可以连接到 Big Table Cloud: https ://googlecloudplatform.github.io/google-cloud-python/stable/

The google-cloud library is pip install-able:
$ pip install google-cloud

Cloud Datastore
from google.cloud import datastore

client = datastore.Client()
key = client.key('Person')
entity = datastore.Entity(key=key)
entity['name'] = 'Your name'
entity['age'] = 25
client.put(entity)

但是,这仍然没有通过 SQL Alchemy 集成,尚不清楚 Schema 是否可以轻松集成。

于 2016-11-22T17:02:03.493 回答
0

这是不可能的,因为 SQLAlchemy 只能管理基于 SQL 的 RDBMS 类型的系统,而 Bigtable(和 HBase)是 NoSQL、非关系系统。

这是我对为 Google Cloud Python 库项目提交的功能请求的详细回复,其中包含更多上下文和替代建议:

SQLAlchemy 和 Google Cloud Bigtable 之间的集成必须在 SQLAlchemy 中完成。我打算代表你在 SQLAlchemy 上提交一个错误,但看起来你已经提交了一个功能请求 并且它被关闭为wontfix

不幸的是,Google bigtable 是非关系型和非 SQL 的,SQLAlchemy 不支持键/值存储。

列表中之前的一个关于添加对 NoSQL 数据库(如 HBase(与 Bigtable 非常相似)非常相似)的支持的电子邮件线程sqlalchemy@ 最终没有任何答案。

因此,恐怕我们无法帮助您将 SQLAlchemy 与 Bigtable 一起使用。


也就是说,作为替代方案,可以考虑使用Apache Hue,它与 Apache HBase 一起工作,并且可以与 Bigtable 类似地工作。我们还没有一个简单的如何将 Apache Hue 连接到 Cloud Bigtable 的方法,但我想它可以按如下方式完成:

  1. Apache Hue -> (a: Thrift API) -> Apache HBase Thrift 代理 -> (b: gRPC API) -> Google Cloud Bigtable

    第一个连接 (a) 对于 Hue 和 HBase 应该是开箱即用的。第二个连接可以使用HBase 的 Google Cloud Bigtable Java 客户端。这并不像看起来那么复杂,尽管有几个部分可以连接在一起以使其全部工作。

  2. Apache Hue -> (gRPC API) -> Google Cloud Bigtable

    这可以使用 HBase 的Google Cloud Bigtable Java 客户端来完成,但它需要 Apache Hue 使用 HBase 1.x API(我相信还不是这样,我相信它使用的是 0.9x API 和/或 Thrift),所以我现在建议使用上面的选项(1)。

希望这会有所帮助。

于 2016-11-23T21:57:10.583 回答