大数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全等)。
然而调查显示,未被使用的信息比例高达99.4%,很大程度都是由于高价值的信息无法获取采集。
如何从大数据中采集出有用的信息已经是大数据发展的关键因素之一。
因此在大数据时代背景下,如何从大数据中采集出有用的信息已经是大数据发展的关键因素之一,数据采集才是大数据产业的基石。那么什么是大数据采集技术呢?
1 大数据采集技术的特点
【大数据采集通常采用分布式架构】
大数据采集的数据流量大,数据集记录条数多,传统的单机采集方式,在性能和存储空间上都无法满足需求。
【多种采集技术混合使用】
大数据不像普通数据采集那样单一,往往是多种数据源同时采集,而不同的数据源对应的采集技术通常不一样,很难有一种平台或技术能够统一所有的数据源,因此大数据采集时,往往是多种技术混合使用,要求更高。
2 数据采集的必要性
【数据采集是数据分析挖掘的根基】
数据分析与挖掘过程中比较基础且重要的一个环节是数据采集,再好的特征选取,建模算法,没有了优质的元数据,也会“巧妇难为无米之炊”。
【采集的数据决定了数据分析挖掘的上限】
经验告诉我们怎样从历史数据的展现和分析过程中得到有用知识,不管你是通过报表或多维分析得到企业各领域指标相关性,还是通过挖掘模型的实施来根据历史数据预测企业未来发展,这一切都是基于企业历史数据的。没有数据质量基础的保证,展现得多华丽的走势图表都是垃圾。
3 数据采集的要点
作为大数据分析的入口,数据采集是相当重要的一个环节,其采集要点包括以下几个方面:
1.数据采集的全面性
数据量足够具有分析价值、数据面足够支撑分析需求。如对于“查看商品详情”这一行为,需要采集用户触发时的环境信息、会话、以及背后的用户id,最后需要统计这一行为在某一时段触发的人数、次数、人均次数、活跃比等。
2.数据采集的多维性
数据更重要的是能够满足分析需求。灵活、快速自定义数据的多种属性和不同类型,从而满足不同的分析目标。
3.数据采集的高效性
高效性包含技术执行的高效性、团队内部成员协同的高效性以及数据分析需求和目标实现的高效性。也就是说采集数据一定要明确采集目的,带着问题搜集信息,使信息采集更高效、更有针对性。
此外,还要考虑数据的时效性。不同应用领域的大数据其特点、数据量、用户群体均不相同。不同领域根据数据源的物理性质及数据分析的目标采取不同的数据采集方法。通过了解数据采集的三大要点,选择全面、准确、高效的数据合作伙伴至关重要。
4 数据采集的四大步骤
1.明确数据需求
由于客户所处行业不同,诉求也就各不一样。所以首先必须明确客对于数据的最终用途,确定客户需求。根据客户所需搜集的数据信息与客户沟通之后,总结需要收集的字段。
2.调研数据来源
根据客户需求确定数据采集范围。然后锁定采集范围和对采集的数据量进行预估。细化客户需求,研究采集方向。
3.选取采集工具
面对不同的网站我们只有选择更加合适的组合才能使采集结果更加有效。
4.确定存储方式
根据采集量的大小对数据储存的方式进行划分。
较小的数据,一般使用excel表格存储
几千万的大型数据,选择数据库存储
对于TB级别的数据,就得用Hadoop、Spark、Redis等分布式存储和处理技术的方法才能做到较好的管理和计算
选择正确数据存储的方式使客户对数据的使用与管理更加便捷。
5 业内常见的数据采集方案
目前,市面上常见的埋点方式主要有三种:代码埋点、全埋点和可视化埋点。
1.代码埋点
代码埋点,即客户端集成 SDK,在客户端启动的时候初始化 SDK,然后在某个事件(行为)发生时,客户端显示调用 SDK 的接口触发相应的事件。代码埋点,是最常见的埋点方式,同时也是“最万能”的埋点方式。
【优点】:
可以精准控制埋点
可以灵活添加自定义事件和属性
可以满足更精细化的分析需求
【缺点】
前期埋点代价比较大;
埋点的变更,需要伴随客户端的发版
2.全埋点
全埋点,也叫无埋点、无码埋点、无痕埋点、自动埋点等,是指无需开发工程师写代码或者只写少量的代码,就能预先自动采集用户的所有行为数据,然后在数据分析产品上通过点选和配置,来筛选要分析和统计的对象。
【优点】
前期埋点成本相对较低
若分析需求或事件设计发生变化,无需应用程序修改埋点和发版
可以有效地解决“历史数据回溯”问题
【缺点】
对于一些复杂的操作,如缩放、滚动等,很难做到全面覆盖
无法自动采集和业务相关的数据
无法满足更精细化的分析需求
各种兼容性方面的问题
传输的数据量太大、浪费资源
3.可视化埋点
可视化埋点,即通过可视化的方式进行埋点,一般需要依赖全埋点相关的技术。
可视化埋点一般有两种表现方式:
默认情况下,不进行任何埋点,通过可视化的方式进行圈选,圈选哪些就采集哪些。
默认情况下,开启全埋点全部采集,通过可视化的方式对全埋点的事件进行重命名。
与代码埋点和全埋点相比,可视化埋点看起来非常酷炫,但它也有相应的优缺点。
【优点】
比如整个埋点比较贴近业务场景,同时也降低了埋点的技术门槛,运营人员、数据分析人员等非技术人员均可埋点。
【缺点】
由于可视化埋点是依赖于全埋点,因此他天然继承了全埋点的缺点,比如兼容性问题、无法采集和业务相关的数据问题。
那么,埋点方案未来发展的趋势是什么呢?未来会逐步向场景化、行业化、智能化方向发展,比如如何通过可视化的方式,给事件添加动态属性,类似于可视化动态属性关联。
6 大数据采集面临的挑战
从数据采集的类型上看,不仅要涵盖基础的数据,还将逐步包括半结构化的用户行为数据,网状的社交关系数据,文本或音频的用户意见和反馈数据,设备和传感器采集的周期性数据,网络爬虫获取的互联网数据,以及未来越来越多有潜在意义的各类数据,那么数据采集技术的难点是什么呢?
1、数据量巨大
任何系统,在不同的数据量面前,需要的技术难度都是完全不同的。
如果单纯是将数据采到,可能还比较好完成,但采集之后还需要处理,因为必须考虑数据的规范与清洗,因为大量的工业数据是“脏”数据,直接存储无法用于分析,在存储之前,必须进行处理,对海量的数据进行处理,从技术上又提高了难度。
2、工业数据的协议不标准
互联网数据采集一般都是我们常见的HTTP等协议,但在工业领域,会出现ModBus、OPC、CAN、ControlNet、DeviceNet、Profibus、Zigbee等等各类型的工业协议,而且各个自动化设备生产及集成商还会自己开发各种私有的工业协议,导致在工业协议的互联互通上,出现了极大地难度。
很多开发人员在工业现场实施综合自动化等项目时,遇到的最大问题及时面对众多的工业协议,无法有效的进行解析和采集。
3、视频传输所需带宽巨大
传统工业信息化由于都是在现场进行数据采集,视频数据传输主要在局域网中进行,因此,带宽不是主要的问题。
但随着云计算技术的普及及公有云的兴起,大数据需要大量的计算资源和存储资源,因此工业数据逐步迁移到公有云已经是大势所趋了。但是,一个工业企业可能会有几十路视频,成规模的企业会有上百路视频,这么大量的视频文件如何通过互联网顺畅到传输到云端,是开发人员需要面临的巨大挑战。
4、安全性考虑不足
原先的工业系统都是运行在局域网中,安全问题不是突出考虑的重点。一旦需要通过云端调度工业之中最为核心的生产能力,又没有对安全的充分考虑,造成损失,是难以弥补的。