Google Cloud Dataprep - 扫描多个输入csv并创建相应的bigquery表

时间:2018-01-05 08:11:21

标签: google-bigquery google-cloud-functions google-cloud-dataprep

我在GCS上有几个共享相同模式但具有不同时间戳的csv文件,例如:

  • data_20180103.csv
  • data_20180104.csv
  • data_20180105.csv

我想通过dataprep运行它们并创建具有相应名称的Bigquery表。应该每天使用调度程序运行此作业。

现在我认为可行的方法如下:

  1. csv文件应该有一个timestamp列,对于同一个文件中的每一行都是相同的
  2. 在GCS上创建3个文件夹:raw,queue和wrangled
  3. 将原始csv文件放入原始文件夹。然后运行一个Cloud函数将1个文件从raw文件夹移动到queue文件夹中,如果它是空的,否则什么都不做。
  4. Dataprep按照调度程序扫描队列文件夹。如果找到csv文件(例如,data_20180103.csv),则运行相应的作业,输出文件将被放入争用文件夹(例如data.csv)。
  5. 只要将新文件添加到争用文件夹,就会运行另一个云功能。这个将根据csv文件中的timestamp列创建一个名为new的BigQuery表(例如20180103)。它还会删除队列和争用文件夹中的所有文件,并继续将1个文件从原始文件夹移动到队列文件夹(如果有的话)。
  6. 重复直到创建所有表。 这对我来说似乎过于复杂,我不知道如何处理云功能无法完成工作的情况。

    对我的用例的任何其他建议表示赞赏。

0 个答案:

没有答案