【发布时间】:2016-07-03 16:17:10
【问题描述】:
经过几天的思考,我仍然遇到这个问题:我有一张表,其中“时间戳”是分区键。该表包含数十亿行。
我还有“时间序列”表,其中包含与特定测量过程相关的时间戳。
我想用 Spark 分析大表的内容。当然,进行全表扫描效率不高,而且通过在时间序列表中进行相当快的查找,我应该只能定位到 10k 个分区。
实现这一目标的最有效方法是什么?
SparkSQL 是否足够聪明,可以优化这样的事情
sqlContext.sql("""
SELECT timeseries.timestamp, bigtable.value1 FROM timeseries
JOIN bigtable ON bigtable.timestamp = timeseries.timestamp
WHERE timeseries.parameter = 'xyz'
""")
理想情况下,我希望 Cassandra 从 timeseries 表中获取时间戳,然后使用它仅查询来自 bigtable 的分区子集。
【问题讨论】:
标签: apache-spark cassandra pyspark apache-spark-sql spark-cassandra-connector