如何在Dataflow中创建新的BigQuery数据集以保存我的数据?
我希望数据集名称使用数据流程序中的版本标记进行版本控制。
我正在使用python API并尝试使用BigQuery客户端在beam.io.BigQuerySink
之外执行此操作但是在gcp上运行流程时出现以下错误:ImportError: No module named cloud
指的是bigquery import from google.cloud import bigquery
。
最好的方法是什么?
答案 0 :(得分:2)
您使用BigQuery客户端外部您的接收器是正确的。看起来应该是这样的:
[..]
from google.cloud import bigquery
client = bigquery.Client(project='PROJECT_ID')
dataset = client.dataset(DATASET_NAME)
dataset.create()
[..]
您必须记住,尽管在本地运行管道时这可能有效,但是当您在GCP上远程运行时,在工作池中旋转的VM将不具有与本地计算机相同的依赖性。
因此,您需要按照here概述的步骤远程安装依赖项:
pip freeze > requirements.txt
。这将创建一个requirements.txt文件,列出您计算机上已安装的所有软件包,无论它们来自何处(即从中安装)。--requirements_file requirements.txt
。这会将requirements.txt文件暂存到您定义的暂存位置。