首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何/在哪里写入时间序列数据?作为Parquet格式的Hadoop,还是HBase,Cassandra?

如何/在哪里写入时间序列数据?作为Parquet格式的Hadoop,还是HBase,Cassandra?
EN

Stack Overflow用户
提问于 2019-02-11 20:08:12
回答 2查看 1.9K关注 0票数 1

我有实时时间序列传感器数据。我的主要目标是保存原始数据。我应该这样做,这样存储的成本就会降到最低。

我的情景是这样;

所有传感器都会产生时间序列数据,我必须保存这些原始时间序列数据,以便进行批量分析。拼花格式是很好的存储成本较低。但是,如果每个传入的时间序列数据都以一种拼花格式写入,是否有意义呢?

另一方面,我想实时处理每个传入的时间序列数据。对于实时场景,我可以使用卡夫卡。但是,Hbase或Cassandra是否可以用于批量和实时分析,而不是卡夫卡?

如果我使用卡桑德拉,我如何进行批量分析?

EN

回答 2

Stack Overflow用户

发布于 2019-02-12 04:21:24

但是,Hbase或Cassandra是否可以用于批量和实时分析,而不是卡夫卡?

把卡夫卡想象成进入这些商店的管道。使用“而不是”也不是一种替代。HBase和Cassnadras是商店,你需要把它们中的数据“分批”出来.在这些系统之前,您可以使用Kafka流(或者火花、Flink或我个人最喜欢的NiFi)进行实际(接近)的实时处理。

我建议使用Kafka,而不是在Hadoop (或相关工具)中使用点对点度量。我还会鼓励使用类似TimescaleDB、CrateDB或InfluxDB之类的数据,也许普罗米修斯会对基础设施进行一些修改……您可以使用Kafka来摄取Hadoop和这些其他工具,以便更好地存储此类数据集(这是首先在Kafka中“缓冲”数据的好处)。

如果每一个传入的时间序列数据都被写成一种拼花格式,这是否有意义?

好的。如果您想要存储大量数据用于大型批处理分析。但是,如果你窗口你的流每小时数据点,并执行和和平均数,例如,那么你真的需要存储每一个数据点吗?

如果我使用卡桑德拉,我如何进行批量分析?

好吧,我希望你现在也这么做。调度对数据库的查询?希望所有的数据都有?(无迟到纪录)

票数 2
EN

Stack Overflow用户

发布于 2019-02-12 11:57:15

我有实时时间序列传感器数据。我的主要目标是保存原始数据。我应该这样做,这样存储的成本就会降到最低。

如果您的需求是存储原始数据,您可以将它们写入hdfs压缩格式。在这里使用拼花格式可能不可行。格式可以改变。如果您有kafka中的传入数据,您可以使用kafka连接从一个主题批量写入hdfs。

所有传感器都会产生时间序列数据,我必须保存这些原始时间序列数据,以便进行批量分析。拼花格式是很好的存储成本较低。但是,如果每个传入的时间序列数据都以一种拼花格式写入,是否有意义呢?

不确定我是否正确理解,但是将每个数据点存储在一个独立的拼花文件中是没有任何意义的。

  1. 与原始数据相比,拼花格式有开销。
  2. 拼花格式是专门为具有多行的表数据而设计的,因此对该数据的筛选是快速的(具有本地访问权限)。
  3. 批处理和文件系统在大多数情况下都对大量的小文件感到不快。

另一方面,我想实时处理每个传入的时间序列数据。对于实时场景,我可以使用卡夫卡。但是,Hbase或Cassandra是否可以用于批量和实时分析,而不是卡夫卡?

根据用例的不同,批处理可能很容易在原始数据上使用单元格或激发sql。也许kafka-streams处理器已经满足了您的实时需求。

有这么多选择。这都取决于用例..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54638326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档