藏经阁-LEARNINGS USING SPARK STREAMING & DATAFRAMES FOR WALMART SEA
藏经阁-LEARNINGS USING SPARK STREAMING & DATAFRAMES FOR WALMART SEA 本文将围绕 WalMart SEARCH 项目中的实践经验,讨论使用 Spark Streaming 和 DataFrames 进行实时数据处理和分析的技术细节。 实时数据处理的需求 WalMart SEARCH 项目中,产品目录的增长速度非常快,产品更新、价格更新、库存更新等事件都需要实时处理。同时,数据用于相关信号的数量也增加了十倍,需要实时分析大量数据以便快速做出商业决策。 旧搜索架构的缺陷 旧的搜索架构中,索引更新仅在一天一次,导致用户体验和业务受到影响。 新搜索架构 为了解决旧架构的问题,WalMart SEARCH 项目采取了以下解决方案: 1. 使用 Kafka 捕获所有目录更新,然后使用 Spark Streaming 处理这些实时事件,并将其提供给索引(每秒处理高达 10,000 个事件)。 2. 使用 Spark Streaming 和微服务直接更新价格、库存等信息到索引(每秒处理高达 8,000 个事件)。 3. 使用 Spark Streaming 和自定义的 Elastic Search 数据加载器将数据直接加载到 Elastic Search 中,以便进行实时分析(每秒处理高达 20,000-25,000 个事件)。 4. 使用自定义的 Hadoop 和 Spark 作业来快速处理用户数据,以便为数据科学家和业务人员提供数据(每批处理 50TB-100TB 数据)。 5. 使用 Spark DataFrames 将业务 intelligence 报告更新到仅需要几小时,而不是过去需要几天的时间。 技术栈 WalMart SEARCH 项目中使用了以下技术栈: 1. Spark – Streaming, DataFrames 2. Hadoop – Hive, Map-Reduce 3. Cassandra – 快速读写查找 4. Kafka – 事件处理 5. Elastic Search – 日志记录和分析 6. Solr – 索引 walmart.com Spark Streaming 的应用 Spark Streaming 是一个流式数据处理引擎,可以实时处理大量数据。在 WalMart SEARCH 项目中,Spark Streaming 用于捕获目录更新、价格更新、库存更新等事件,并将其提供给索引。 Spark DataFrames 的应用 Spark DataFrames 是一个分布式数据处理引擎,可以快速处理大量数据。在 WalMart SEARCH 项目中,Spark DataFrames 用于快速处理用户数据,以便为数据科学家和业务人员提供数据。 总结 WalMart SEARCH 项目中,使用 Spark Streaming 和 DataFrames 实现了实时数据处理和分析,提高了用户体验和业务效率。该项目证明了 Spark Streaming 和 DataFrames 在大规模数据处理中的作用。
剩余21页未读,继续阅读
- 粉丝: 85
- 资源: 1万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助