BigQuery Datawarehouse设计?

时间:2018-08-14 15:00:29

标签: google-bigquery google-cloud-dataflow dataflow bigtable

在用于Datawarehouse的典型HDFS环境中,我看到了数据分阶段进行转换的不同阶段,如下所示。我正在尝试在Google云平台中设计一个系统,在其中可以执行所有这些转换。请帮忙。

HDFS :: 着陆区->第一阶段区域->第二阶段区域

着陆区-用于获取原始数据 第1阶段区域-转换着陆区域中的原始数据,然后将其更改为其他数据格式和/或进行非规范化并存储在第1阶段中 阶段2区域-阶段1的数据在事务表(例如HBASE)上更新。如果只是一个时间段数据,那么仍然是基于HDFS的HIVE表 然后,报告从第2阶段开始进行(如果要进行转换,则之间可能还会有多个区域)

我在Google Cloud中实施的思考过程:

着陆(Google云存储)->第1阶段(BigQuery-托管所有基于时间的数据)->第2阶段(BigQuery(基于时间的数据)/ Maintenant Big table(基于密钥的交易数据))

我的问题如下:

a)此实现看起来可行吗?我打算使用Dataflow在这些区域之间读取和加载吗?如果有人在建造仓库之前实施了一个更好的设计,那会有什么更好的设计?

b)使用数据流读取大查询然后更新大表有多有效?我已经看到一些用于大表更新的数据流连接器here

c)由于BigQuery支持,可以将Json数据用作主要格式吗?

1 个答案:

答案 0 :(得分:2)

  1. 有一个solution可能适合您的情况。我将数据加载到Cloud Storage,读取数据并使用Dataflow进行转换,然后将其发送到Cloud Storage以在Bigquery中加载,然后/或者使用您提到的Dataflow连接器直接写入BigTable。
  2. 如前所述,您可以将转换后的数据从Dataflow发送到两个数据库。请记住,BigQuery and Bigtable对分析非常有用,但是,Bigtable具有低延迟的读写访问权限,而BigQuery具有高延迟,因为它确实执行查询工作以收集数据。
  3. 是的,这是个好主意,因为您可以将JSON data从Cloud Storage直接加载到BigQuery。