【发布时间】:2016-10-14 20:02:24
【问题描述】:
我陷入了这样一个困境,即我无法选择哪种解决方案对我更好。我有一个非常大的表(几个 100GB)和几个更小的表(几个 GB)。为了在 Spark 中创建我的数据管道并使用 spark ML,我需要加入这些表并执行几个 GroupBy(聚合)操作。这些操作对我来说真的很慢,所以我选择了以下两种操作之一:
- 使用 Cassandra 并使用索引来加速 GoupBy 操作。
- 根据数据布局使用 Parquet 和 Partitioning。
我可以说 Parquet 分区的工作速度更快,可扩展性更高,而且 Cassandra 使用的内存开销更少。所以问题是这样的:
如果开发人员推断并理解数据布局及其使用方式,那么仅使用 Parquet 不是更好吗,因为您将拥有更多控制权?我为什么要为 Cassandra 造成的开销付出代价?
【问题讨论】:
标签: apache-spark cassandra spark-dataframe parquet