【问题标题】:Suggestions for improving Bigtable/HBase/Spark workflow (economically)改进 Bigtable/HBase/Spark 工作流程的建议(经济)
【发布时间】:2016-02-11 04:23:06
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: apache-spark google-cloud-storage google-cloud-platform google-cloud-bigtable


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        请参阅Google Cloud Storage connector 了解更多信息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-02
          • 1970-01-01
          • 1970-01-01
          • 2012-11-25
          • 2013-04-21
          • 2012-10-22
          相关资源
          最近更新 更多