21CTO 导读:数据流是大数据世界中极为重要的过程。在本篇中,我与各位看官一起了解它如何帮助我们进行实时分析与数据提取。
数据流之定义
何谓数据流,它就如同一条河:河流从哪里发源?河要流在哪里?
人们对河流的理解本质上也就是流的概念,但是这条河没有开始也没有结束,数据流非常适合于离散的、没有开头或结尾的数据。例如,交通信号灯的数据是连续的,没有“开始”或“结束”,是连续的过程而不是分批发送的数据记录。通常情况下,数据流对于在生成连续数据流中以小尺寸(通常以KB字节为单位)发送数据的数据源类型是有用的。这包括各种各样的数据源,例如来自连接设备的遥测,客户访问的Web应用时生成的日志文件、电子商务交易或来自社交网络或地理LBS服务的信息等。
传统上,数据是分批移动的,批处理通常同时处理大量数据,具有较长时间的延迟。例如,该复制过程每24小时运行一次。虽然这可以是处理大量数据的有效方法,但它不适用于流式传输的数据,因为数据在处理时已经是旧的内容。
采用数据流是时间序列和随时间检测模式的最佳选择。例如,跟踪Web会话的时间。大多数物联网产生的数据非常适合数据流处理,包括交通传感器,健康传感器,交易日志和活动日志等都是数据流的理想选择。
流数据通常用于实时聚合和关联、过滤或采样。通过数据流,我们可以实时分析数据,并深入了解各种行为,例如统计,服务器活动,设备地理位置或网站点击量等。
数据流整合技术的解决方案
1 金融机构跟踪市场变化,并可根据配置约束(例如达到特定股票价格时出售)调整客户组合的配置。
2 电网监控吞吐量并在达到某些阈值时生成警报。
3 新闻资讯APP从各种平台进行流式传输时,产生的点击记录,实时统计信息数据,以便它可以提供与受众人口相关的文章推荐。
4 电子商务站点以数据流传输点击记录,可以检查数据流中的异常行为,并在点击流显示异常行为时发出安全警报。
数据流带给我们的挑战
数据流是一种功能强大的工具,但在使用流数据源时,有一些常见的挑战。以下的列表显示了要规划数据流的一些事项:
1 可扩展性规划
2 数据持久性规划
3 如何在存储层和处理层中加入容错机制
数据流的管理工具
随着数据流的不断增长,出现了许多合适的大数据流解决方案。我们总结了一个列表,这些都是用于处理流数据的常用工具:
1 亚马逊Kinesis Firehose
Amazon Kinesis是一种托管,可扩展,基于云的服务,可以实时处理大型数据流。
2 Apache Kafka
Apache Kafka是一个分布式发布/订阅消息传递系统,它集成了应用程序和数据流处理。
3 Apache Flink
Apache Flink是一种数据流引擎,为数据流上的分布式计算提供了诸多便利。
4 Apache Storm
Apache Storm是一个分布式实时计算系统。Storm用于分布式机器学习、实时分析处理,尤其是其具有超高数据处理的能力。
小结
大规划管理数据并不难。当我们掌握了数据流的本质,使用上述提供的强大工具,辅以我们编程能力,开发更易于处理流数据的集成管理的集群。
作者:洛逸
来源:21CTO 社区
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/257551.html