我有实时时间序列传感器数据。我的主要目标是保存原始数据。我应该这样做,这样存储的成本就会降到最低。
我的情景是这样;
所有传感器都会产生时间序列数据,我必须保存这些原始时间序列数据,以便进行批量分析。拼花格式是很好的存储成本较低。但是,如果每个传入的时间序列数据都以一种拼花格式写入,是否有意义呢?
另一方面,我想实时处理每个传入的时间序列数据。对于实时场景,我可以使用卡夫卡。但是,Hbase或Cassandra是否可以用于批量和实时分析,而不是卡夫卡?
如果我使用卡桑德拉,我如何进行批量分析?
发布于 2019-02-12 04:21:24
但是,Hbase或Cassandra是否可以用于批量和实时分析,而不是卡夫卡?
把卡夫卡想象成进入这些商店的管道。使用“而不是”也不是一种替代。HBase和Cassnadras是商店,你需要把它们中的数据“分批”出来.在这些系统之前,您可以使用Kafka流(或者火花、Flink或我个人最喜欢的NiFi)进行实际(接近)的实时处理。
我建议使用Kafka,而不是在Hadoop (或相关工具)中使用点对点度量。我还会鼓励使用类似TimescaleDB、CrateDB或InfluxDB之类的数据,也许普罗米修斯会对基础设施进行一些修改……您可以使用Kafka来摄取Hadoop和这些其他工具,以便更好地存储此类数据集(这是首先在Kafka中“缓冲”数据的好处)。
如果每一个传入的时间序列数据都被写成一种拼花格式,这是否有意义?
好的。如果您想要存储大量数据用于大型批处理分析。但是,如果你窗口你的流每小时数据点,并执行和和平均数,例如,那么你真的需要存储每一个数据点吗?
如果我使用卡桑德拉,我如何进行批量分析?
好吧,我希望你现在也这么做。调度对数据库的查询?希望所有的数据都有?(无迟到纪录)
发布于 2019-02-12 11:57:15
我有实时时间序列传感器数据。我的主要目标是保存原始数据。我应该这样做,这样存储的成本就会降到最低。
如果您的需求是存储原始数据,您可以将它们写入hdfs压缩格式。在这里使用拼花格式可能不可行。格式可以改变。如果您有kafka中的传入数据,您可以使用kafka连接从一个主题批量写入hdfs。
所有传感器都会产生时间序列数据,我必须保存这些原始时间序列数据,以便进行批量分析。拼花格式是很好的存储成本较低。但是,如果每个传入的时间序列数据都以一种拼花格式写入,是否有意义呢?
不确定我是否正确理解,但是将每个数据点存储在一个独立的拼花文件中是没有任何意义的。
另一方面,我想实时处理每个传入的时间序列数据。对于实时场景,我可以使用卡夫卡。但是,Hbase或Cassandra是否可以用于批量和实时分析,而不是卡夫卡?
根据用例的不同,批处理可能很容易在原始数据上使用单元格或激发sql。也许kafka-streams处理器已经满足了您的实时需求。
有这么多选择。这都取决于用例..。
https://stackoverflow.com/questions/54638326
复制相似问题