我正在从事一个涉及使用 HDFS 存储和 Spark 计算的项目。
我需要将来自传感器的数据实时存储到HDFS中。
例如,我有一个气象站,传感器每5秒钟生成一次数据(温度变化)。我想知道如何将这些数据实时存储在hdfs中
答案 0 :(得分:1)
直接将许多小文件直接写入HDFS可能会产生一些不良影响,因为这会影响主节点内存使用率,并且与批处理相比可能导致处理速度降低。
任何一个传感器每月都会产生50万个文件,因此,除非您的传感器数量非常有限,否则我建议您看一下消息代理。 Apache Kafka(https://kafka.apache.org/)是众所周知的一种,已经捆绑在某些Hadoop发行版中。例如,您可以使用它来“分段”数据并在(迷你)批次中处理它。
最后,如果您需要实时处理传入数据(CEP等),我建议您注意Spark Streaming(https://spark.apache.org/streaming/)技术。