【发布时间】:2019-10-28 04:41:58
【问题描述】:
我有大量数据存储在谷歌存储桶中,结构如下:
gs://project_garden/plant_logs/2019/01/01/humidity/plant001/hour.gz。我想要的是制作一个 Kubernetes 作业,它下载所有内容、解析它并将解析的文件并行上传到 BigQuery。到目前为止,我已经设法在没有任何并行性的情况下在本地完成它,方法是编写一个 python 代码,该代码将日期间隔作为输入,并在每个执行 gsutil -m cp -r 的植物上循环以供下载,gunzip 用于提取,pandas 用于转换。我想使用 Kubernetes 为每个工厂并行地做同样的事情。是否可以通过定义一个作业来为每个 pod 传递不同的植物 id 并为每个 pod 下载文件来并行化该过程?
【问题讨论】:
-
使用 k8s 是强制要求吗?如果不是,我可能会通过编写 Cloud Dataflow 管道来执行此操作,该管道在 GCS 中读取您的文件,解析它们并直接写入 BigQuery。这样,Cloud Dataflow 将自动为您并行化工作。你不必担心它。
标签: python kubernetes google-cloud-platform google-bigquery google-cloud-storage