首页 文章

BigQuery Datawarehouse设计?

提问于
浏览
0

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

HDFS ::着陆区 - >第1阶段 - >第2阶段

着陆区 - 用于具有原始数据第1阶段区域 - 来自着陆区域的原始数据被转换,然后变为不同的数据格式和/或非规范化并存储在第1阶段第2阶段区域中 - 第1阶段的数据在交易表说HBASE . 如果它只是一个时间段数据,那么仍然是基于HDFS的HIVE表然后,报告发生在第2阶段(如果转换,也可能存在多个区域)

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

登陆(谷歌 Cloud 存储) - >第1阶段(BigQuery - 托管基于所有时间的数据) - >第2阶段(基于时间的数据的BigQuery /基于密钥维护交易数据的大表)

我的问题如下:

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

b)使用Dataflow读取Big Query然后更新Big表的效率如何?我见过一些用于Big table更新的Dataflow连接器here

c)可以将Json数据用作主要格式,因为BigQuery支持这种格式吗?

1 回答

  • 2
    • 有一个solution可能适合你的场景 . 我会将数据加载到 Cloud 存储,读取它并使用Dataflow进行转换,然后将其发送到 Cloud 存储,然后在Bigquery中加载和/或使用您提到的Dataflow连接器直接写入BigTable .

    • 正如我之前提到的,您可以将转换后的数据从Dataflow发送到两个数据库 . 请记住,BigQuery and Bigtable适用于分析,但Bigtable具有低延迟读写访问权限,而BigQuery具有高延迟,因为它会查询作业以收集数据 .

    • 是的,这是一个好主意,因为您可以直接将JSON data从 Cloud 存储加载到BigQuery .

相关问题