物联网->大数据->预测分析应用平台(0)业务需求和技术分解

时隔一年,没有再动笔写日记或者总结性的日志了。最近也也一直在关注一些开源的东西,希望自己能了解的更多,视野更广。
我是去用这些技术,而不是去要对其源代码做修改和深度定制,所以只需要知其然,不需要知其所以然。时间不等人,折腾完这一波,就要开始撸一撸其他的自己的。

1/ 一起来玩乐高

对互联网、以数据作为生命基础的公司来说,IT系统和数据就是第一生产力。而对于传统企业而言,IT系统、或者信息技术的驱动始终是支撑企业实业业务发展的支持力量。毕竟业务不是卖数据。

但是IT系统所带来的价值,也在不断转变IT系统的状态从“业务驱动”到“数据驱动”,这是好事情。毕竟企业内部IT系统正在突围,从内部慢慢走向外部,从只服务内部,对开始服务外部合作伙伴、甚至最终用户服务的方式了,价值链也来越长,价值也越来越大!

IT系统的最终价值不要说不可以计算,其实都是可以计算出来的。从细到成本、利润、质量隐患所避免的风险损失、质量提升、工艺改进所带来的间接受益;粗到公司整体层面的品牌价值和影响力,以及附带的收益,和投资收益比等等。

咨询公司有专家专门来干这个事情。有些价值即使无法用直接用金钱来衡量,例如:挽救了多少人的财产安全,为企业避免产品安全事故的影响,品牌收益,这些收益如何衡量,专家们自然有办法,我们就不去讨论这些东西。

 

自己假想的一个Demo和架构也是来源于生活,故事如下:

  • 有2~3家公司做这样的一个大数据平台
  • 提议是整车厂提议的,但是也得到了关键零部件供应商的支持(资金和项目支持)
  • 整车厂希望加强4S店后续的服务力度,提供更多的运行数据给4S店做后续增值服务
  • 对于供应商,也希望将车辆某些零部件的运行数据提供供应商,为其提供更多的数据支持,以改进
    后续的产品研发,工艺提升和售后支持,安全告警
  • 也想分享一些数据给保险公司
  • 也想将车辆的一些信息提供给车辆的消费者(通过App的形式),推送一些信息和服务给车主。

项目的收益

  • 大家开心就好

为了达到以上的这些业务需求,这个技术平台要考虑到

  • 海量的数据收集能力
  • 高并发的数据解析分发能力
  • 对于数据的实时流的处理能力
  • 海量的数据存储能力
  • 数据文本搜索引擎

2/ 全部连成一片

为此,抽空时间撸一撸这样的技术组件清单,主题架构不走渐进式的演化方式(大型互联网公司的架构设计都是不断演化的,都是从小购物车程序一代代的变成了今天的样子),而是直接设计出来,不考虑其他,就是为了这么做而做。全部适用开源的东西,就是为了让开源大数据技术产品看上去无所不能。

其实开源软件的易用性是很差的,稳定性也是那样,而且有bug还不知道找谁,但是很多人都是被迫,或者被逼的去学习这些东西,原因有很多:公司要搞大数据,老板逼着学习;要跳槽,会被面试官问;不学这个,无法装逼;还有就是面向简历的编程,这应该是最重要的原因。

至于互联网公司为什么要大量使用开源软件,不想去讨论,但是针对企业客户来说,开源(自控或者云服务)是否是一个合适,或者是好的选择,这个答案没人可以给你,你要自己问自己,我TMD的搞这些的目的是为了解决什么目的,难道没有更好管理和运维的东西了吗?很多问题,我们也将一边学习,一边去质疑。

  • 短信收取:移动网关服务(暂不涉及)
  • 负载均衡:Nginx
  • 数据解析和发送:Node
  • 高速缓存:Redis
  • 数据存储:HBase(Hadoop\HDFS\ZooKeeper)
  • 消息分发:Kafka
  • 数据仓库:Hive
  • 流数据计算:Spark Streaming ->Spark SQL-> MySQL
  • OLAP引擎:Kylin
  • 应用终端:Node(Express)<->MySQL
  • 日志收集:Flume
  • 作业调度:Oozie
  • ETL工具:Sqoop
  • 预测分析:Spark MLlib、TensorFlow
  • 搜索引擎:Solr
  • 深度学习:TensorFlow、Spark MLlib

接下来,我们就要将这些玩意全部连成一片,环环相扣,这就是我们做这个Demo的目的。

大数据应用的集群管理可以考虑HortonWorks、Cloudera这些KFC全家桶套餐,免费还好用,一旦安装,勾上软件包,所需要的软件组件以及正确的相互的匹配版本全本帮你搞定,安装好,启动好。

但是出于学习的单一性目的,我们先不用这些东西,而是一个个的从零开始安装和简单配置上手,在真实的项目中还是要用这些集群管理软件,虽然一旦用了,就下不来了,但是还是要用。毕竟升级、管理版本是很要命的工作。

3/ 计划学习和总结

  1. Spark+Kafka开发测试(1)环境搭建
  2. Spark+Kafka开发测试(2)物联网大数据
  3. NodeJS+Kafka+Spark开发测试(3)发送/接收/解析/发送
  4. Nginx+NodeJS+Redis开发测试(4)接收/解析/验证/保存
  5. NodeJS->HBase(5)持久层设计和数据访问
  6. NodeJS->Kafka开发测试(6)发送,认证、策略管理、消息偏移管理
  7. Kafka->Spark Streaming开发测试(6)订阅/窗口/算法(占坑中….)
  8. Spark Streaming+Spark SQL开发测试(7)MySQL接入(占坑中….)
  9. NodeJS+Express前端App应用(8)分析和预测应用(占坑中)
  10. 大数据乐高(11)连成一片天(占坑……)
  11. 开源“大数据”技术VS”企业级”软件
  12. 被互联网公司大数据洗脑企业客户

 

Lets go,让我们开始行动起来,一步步将这个迷你系统Demo环境给做出来把。

Leave a Reply

Your email address will not be published.