专栏首页大数据成神之路基于HBase和Spark构建企业级数据处理平台

基于HBase和Spark构建企业级数据处理平台

本文整理自来自阿里巴巴的沐远的技术分享,由大数据技术与架构进行整理和总结。

场景需求和挑战

面临的场景

金融风控

  • 用户画像库
  • 爬虫抓取信息
  • 反欺诈系统
  • 订单数据

个性化推荐

  • 用户行为分析
  • 用户画像
  • 推荐引擎
  • 海量实时数据处理

社交Feeds

  • 海量帖子、文章
  • 聊天、评论
  • 海量实时数据处理

时空时序

  • 监控数据
  • 轨迹、设备数据
  • 地理信息
  • 区域分布统计
  • 区域查询

大数据

  • 维表和结果表
  • 离线分析
  • 海量实时数据存储

新的挑战

Apache HBase(在线查询) 的特点有:

  • 松散表结构(Schema free)
  • 随机查询、范围查询
  • 原生海量数据分布式存储
  • 高吞吐、低延迟
  • 在线分布式数据库
  • 多版本、增量导入、多维删除

面临的新的挑战:

  • 流式及批量入库
  • 复杂分析
  • 机器学习、图计算
  • 生态及联邦分析

选择Spark的原因

  • 快:通过query的执行优化、Cache等技术,Spark能够对任意数据量的数据进行快速分析。逻辑回归场景比Hadoop快100倍
  • 一站式:Spark同时支持复杂SQL分析、流式处理、机器学习、图计算等模型,且一个应用中可组合上面多个模型解决场景问题
  • 开发者友好:同时友好支持SQL、Python、Scala、Java、R多种开发者语言
  • 优秀的生态:支持与Ka=a、HBase、Cassandra、MongoDB、Redis、MYSQL、SQL Server等配合使用

平台机构及案例

一站式数据处理平台架构

  • 数据入库:借助于Spark Streaming,能够做流式ETL以及增量入库到HBase/Phoenix。
  • 在线查询:HBase/Phoenix能够对外提供高并发的在线查询
  • 离线分析及算法:如果HBase/Phoenix的数据需要做复杂分析及算法分析,可以使用Spark的SQL、机器学习、图计算等

典型业务场景:爬虫+搜索引擎

  • 性能:流吞吐 20万条/秒
  • 查询能力:HBase自动同步到solr对外提供全文检索的查询
  • 一站式解决方案:Spark服务原生支持通过SQL读取HBase 数据能力进行ETL,Spark + HBase +Solr一站式数据处理平台

典型业务场景:大数据风控系统

  • Spark同时支持事中及事后风控
  • Spark友好对接HBase、RDS、MongoDB多种在线库

典型业务场景:构建数据仓库(推荐、风控)

  • 毫秒级识别拦截代充订单,并发十万量级
  • Spark优秀的计算能力:Spark基于列式存储Parquet的分析在数据量大的情况下比Greenplum集群有10倍的性能提升
  • 一站式解决方案:Spark服务原生支持通过SQL读取 HBase SQL(Phoenix)数据能力
  • 聚焦业务:全托管的Spark服务保证了作业运行的稳定性,释放运维人力,同时数据工作台降低了spark作业管理成本

原理及最佳实践

Spark API的发展经历了RDD、DataFrame、DataSet

Spark Streaming采用的是Micro-Batch方式处理实时数据。

作业堆积、延迟高、并发不够?

  • 每批次的并发:调大kafka的订阅的分区、spark.streaming.blockInterval
  • 代码热点优化:查看堆栈、broadcast、代码优化

Spark流式处理入库HBase

Micro-Batch Processing:100ms延迟 ,Continuous Processing:1ms延迟

Spark HBase Connector的一些优化

代码托管在:https://github.com/aliyun/aliyun-apsaradb-hbase-demo (包含Spark操作Hbase和Phoenix)

本文分享自微信公众号 - 大数据技术与架构(import_bigdata)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 探索无限大的神经网络

    平时难住我们的是,有再多资源也承载不了无限大的网络。但其实可以证明无限宽的网络和核方法是等效的,给了我们揭开无限宽网络面纱的机会。另外我们还有一些额外的收获——...

    AI科技评论
  • 谷歌又出量子计算新成果,这次用上了深度强化学习!

    原标题:Improving Quantum Computation with Classical Machine Learning

    AI科技评论
  • 机器学习|卷积神经网络(CNN) 手写体识别 (MNIST)入门

    这篇文档可能还是会非常长,因为机器学习并不是纯软件开发,简单地调用库函数 API,需要有一定的理论支撑,如果完全不介绍理论部分,可能就不知道为什么模型要这样设计...

    用户1737318
  • 硬刚 Tensorflow 2.0 ,PyTorch 1.3 今日上线!

    就在今年 8 月份,机器学习框架 PyTorch 刚发布 1.2 版本(详情可参考:新版 PyTorch 1.2 已发布:功能更多、兼容更全、操作更快!),很多...

    AI研习社
  • 推荐收藏 | Dropout、梯度消失/爆炸、Adam优化算法,神经网络优化算法看这一篇就够了

    对于机器学习模型在训练数据集和测试数据集上的表现。如果你改变过实验中的模型结构或者超参数,你也许发现了:当模型在训练数据集上更准确时,它在测试数据集上却不⼀定更...

    统计学家
  • Python快速实战机器学习(3) 线性分类器

    机器学习是如今人工智能时代背景下一个重要的领域。这个“Python快速实战机器学习”系列,用Python代码实践机器学习里面的算法,旨在理论和实践同时进行,快速...

    HuangWeiAI
  • WAE的推导与理解

    然而如何去进行优化,估计分布之间的距离依旧是一个无法解决的问题。参考f-gan,可以使用类似的方式去求出距离,原始论文中也提到了MMD的方法,但使用gan-ba...

    用户1908973
  • 你真的了解深度学习生成对抗网络(GAN)吗?

    原标题 | An Easy Introduction to Generative Adversarial Networks in Deep Learning

    AI研习社
  • 第一次接触 Kaggle 入门经典项目泰坦尼克号就斩获前 1%,他做了什么?

    * Photo by Willian Justen de Vasconcellos on Unsplash

    AI研习社
  • 【概率论基础】机器学习领域必知必会的12种概率分布(附Python代码实现)

    机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们的变化;我们使用线性代数来处理计算过程;我们还用概率论与统计学建模不确定性。在这其中,...

    zenRRan

扫码关注云+社区

领取腾讯云代金券