2016-11-22 134 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)。

希望這會對您有所幫助。