0

我有一个相当小的数据集(5~gb,150 万行),当前存储在 Bigtable 中,并通过 HBase API(Scala)访问,目的是使用 Spark(dataproc)进行数据分析。

但是,我的预算也很紧,而且 Bigtable 的成本相当高(2~ 美元/小时),所以我最终做的是在需要时删除并重新创建 Bigtable 集群。

明显的缺点是,由于我的数据的性质,填充一个新的集群需要很长时间。它全部以 JSON 格式存储在一个大文本文件中,填充集群需要 40~ 分钟。

所以我要问的是是否有更好的方法来执行这个,比如实现某种备份/快照例程?或者根本不使用 Bigtable。我在 Google Cloud 平台中找不到任何其他 HDFS 替代品。

应该指出的是,我对 Hadoop 和大数据的世界还很陌生,所以如果我错过了显而易见的事情,请原谅我的无知。

4

3 回答 3

1

考虑一次导入 json,然后通过 hadoop 将数据导出到序列文件,如下所述:https ://cloud.google.com/bigtable/docs/exporting-importing 。hadoop 使用的序列文件格式可能比 json 更高效。

于 2015-11-12T20:22:50.897 回答
1

首先,如果您还没有看过它,我们将展示如何将Cloud Bigtable 与 Dataproc 结合使用。如果您愿意的话,应该很容易启动一项工作以快速填充您的 Bigtable。

Bigtable 确实是为 1T 或更大的数据库设计的。在 5GB 大小时,您可能希望考虑MemcacheRedis。使用 Redis,您只需加载一次数据,然后您可以在关闭实例/集群时保存磁盘。

于 2015-11-10T18:28:58.657 回答
1

此外(如果它适合您的用例并且您不需要 Bigtable 的数据库方面),您可以直接在Google Cloud Storage中的文件上运行 Hadoop 或 Spark 作业(如果您愿意,可以使用Google Cloud Dataproc ) ,这将是比将数据存储在 Bigtable 中要便宜得多。

有关详细信息,请参阅Google Cloud Storage 连接器

于 2015-11-10T20:27:17.117 回答