2016-11-22 127 views
0

看来,SQL炼金术可以连接到在谷歌云SQL运行MySQL表。不过,我花时间去寻找谷歌的Cloud Bigtable,一个的NoSQL数据库的包装,并不能找到任何足够成熟。管理谷歌的Cloud Bigtable从SQLAlchemy的

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

+0

正如我在[我的答案](http://stackoverflow.com/a/40774789/3618671)中提到的,SQLAlchemy根本无法支持NoSQL存储系统。他们被要求支持HBase和Bigtable,但他们只支持SQL存储系统。你能否澄清你想用Python处理Bigtable,以及[Google云端Bigtable Python库](https://github.com/GoogleCloudPlatform/google-cloud-python/tree/master/bigtable)([docs ](https://googlecloudplatform.github.io/google-cloud-python/stable/bigtable-usage.html))足以满足您的使用情况? –

回答

0

有一些Python API连接到大表云: 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炼金术整合,这是不明确该模式可以轻松集成。

+0

请注意,您的代码示例使用Google Cloud Datastore。对于Bigtable,请参阅[这些文档和示例代码](https://googlecloudplatform.github.io/google-cloud-python/stable/bigtable-usage.html)。 –

0

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

下面是对谷歌云Python库项目,它有更多的上下文和其他建议在feature request that was filed我详细的答复:

将 有SQLAlchemy的和谷歌的Cloud Bigtable之间的集成在SQLAlchemy中进行。我要代表你对SQLAlchemy的 提交bug,但看起来你已经filed a feature request 和被关闭的wontfix

不幸的是谷歌BigTable中的非关系型和非SQL,SQLAlchemy的呢不支持关键/价值商店。

previous email thread on the [email protected] list 约增加对NoSQL数据库HBase的一样的支持(这是非常 类似于Bigtable的)结束了,没有任何结果。

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


这就是说,作为替代,可以考虑使用Apache Hue,这与Apache HBase的工作,并且可以 作出与Bigtable的工作类似。我们没有一个简单的HOWTO的 如何Apache的色调连接到云Bigtable的,但我想象如下它可以 做到:

  1. 阿帕奇顺化 - >(A:节俭API) - > Apache HBase Thrift代理 - >(b:gRPC API) - > Google Cloud Bigtable

    第一个连接(a)应该可以直接使用Hue和 HBase。第二个连接可以使用Google Cloud Bigtable Java client for HBase。 这并不复杂,因为它看起来,虽然有几个 部分连接在一起,使这一切工作。

  2. 阿帕奇顺化 - >(GRPC API) - >谷歌的Cloud Bigtable

    这可以使用Google Cloud Bigtable Java client for HBase完成,但 它需要Apache色调使用HBase的1。x API(我相信这是 还不是这种情况,我相信它是使用0.9x API和/或Thrift),所以我现在推荐以下选项(1)。

希望这会对您有所帮助。