【发布时间】:2019-09-10 15:18:40
【问题描述】:
我正在尝试使用数据流向 Google Analytics(分析)发布请求。第一步是从 Big-query 中读取适当的参数 - 它工作正常。接下来是在 HTTP 发布请求中使用它们。在本地通过提供显式参数它可以工作,但在数据流中它在此步骤中什么也不做。
这是我的代码(SendRequests 类),其中 el - BQ 中的每个数据行。
class SendRequests(beam.DoFn):
def __init__(self):
super(SendRequests, self).__init__()
def process(self, el):
conn = httplib.HTTPConnection("www.google-analytics.com")
params = urllib.urlencode(el)
conn.request("POST", "/collect", params)
yield 1
locally:
conn = http.client.HTTPConnection("www.google-analytics.com")
conn.request("POST", "/collect", params)
【问题讨论】:
-
尝试在
start_bundle()或最好在setup()函数中创建连接(您必须覆盖它们),以避免创建大量连接。参考:beam.apache.org/releases/pydoc/2.22.0/…
标签: python google-cloud-platform apache-beam dataflow