2
看起來像谷歌已經發布了支持從python中的數據流/梁查詢數據存儲區。我試圖得到它在本地運行,但我遇到了一些問題:如何在python中從數據流/梁中查詢數據存儲區
import apache_beam as beam
from apache_beam.io.datastore.v1.datastoreio import ReadFromDatastore
from gcloud import datastore
client = datastore.Client('my-project')
query = client.query(kind='Document')
options = get_options()
p = beam.Pipeline(options=options)
entities = p | 'read' >> ReadFromDatastore(project='my-project', query=query)
entities | 'write' >> beam.io.Write(beam.io.TextFileSink('gs://output.txt'))
p.run()
這是給我一個
AttributeError: 'Query' object has no attribute 'HasField' [while running 'read/Split Query']
我猜,我傳遞了錯誤的查詢對象(有3-4個可以導入數據存儲區的pip包),但我無法弄清楚我應該通過哪一個。在測試中,它們傳遞的是protobuf。那是我必須使用的嗎?任何人都可以使用protobuf顯示一個簡單的示例查詢,如果這是我必須做的?
嗨布瓦爾,你在哪裏運行該代碼?在應用程序引擎?安慰?或通過桌面上的命令行連接?我在開始類似問題時遇到問題 – Evan
桌面上的命令行。 – Bovard