大数据关键技术有哪些-落地实操依托五类核心技术支撑业务运转

大数据关键技术有哪些-落地实操依托五类核心技术支撑业务运转

上次接手公司用户行为大数据分析迭代项目,开会被新人突然提问大数据关键技术有哪些,当场卡壳,明明天天泡在数据处理的工作里,实操各类技术干活,却没法清晰说清具体的技术模块和实际用法,那一刻才意识到自己一直是机械执行工作,根本没系统梳理过落地的核心技术。

最开始推进项目,第一步就栽在了数据采集环节。原先图省事,直接用普通的日志抓取小工具对接前端页面和后台系统,跑出来的数据总是残缺不全,用户页面跳转、按钮点击、停留时长、退出节点这些零散的行为数据,经常性大面积缺失,每天导出的业务报表都有大量空白维度,根本没法给运营部门做参考。折腾好久才搞明白,大数据采集和普通数据抓取完全不是一回事,必须依托Flume、Sqoop这类专业采集技术,分别适配实时流式日志和离线数据库的不同数据源,才能完整抓取所有有效数据。

数据采完的那一刻,磁盘直接爆了。

那时候完全没考虑海量数据的存储特性,傻乎乎把采集到的所有原始数据全部堆砌在普通服务器硬盘中,没有做任何拆分和分类存储。短短三天时间,每日增量的十几G用户行为数据直接占满全部存储空间,后续的自动化采集任务全部报错停滞,整个数据链路直接瘫痪。后来才反应过来,分布式存储是大数据的核心支撑技术,HDFS可以把超大文件拆分分散存储在多个节点服务器,搭配HBase列式数据库适配文本、日志这类非结构化、半结构化数据,完美解决了存储过载、数据读取卡顿、调取失败的问题,这也是大数据能处理海量数据的基础。

数据存稳之后,新的问题又接踵而至,原始采集的数据杂乱程度远超预期,重复记录、无效乱码、空白空值、格式错乱的数据占了将近一半,要是直接拿来计算分析,得出的结果完全失真,没有任何参考价值。最开始不懂技术方法,只能人工逐行筛查剔除脏数据,效率低到极致,一整天手动处理的数据量,还不够业务一小时的使用需求,严重拖慢了项目进度。

其实大数据预处理技术就是专门解决这类问题的,依托Spark、MapReduce框架就能批量完成数据清洗、去重、格式标准化、缺失值填充的工作,全程自动化运行,不用人工反复操作,这一步是绝大多数新手最容易忽略的环节,跳过预处理步骤,后面所有的数据分析、数据计算都是无用功。

规整干净的数据,需要通过计算技术产出有效价值。前期贪图熟悉,沿用了传统的关系型数据库做数据计算,处理百万级的用户数据就要耗费大半天时间,完全跟不上业务实时复盘、实时监控转化数据的需求。后续换成Flink实时计算技术处理用户当下的动态行为数据,搭配Spark离线计算完成日度、月度的批量数据统计,数据处理速度直接翻倍,业务端随时都能调取最新、最精准的用户数据报表。

整套数据链路跑完后,还要依靠调度和可视化技术完成落地闭环。之前只盯着采集、存储、计算三大块,忽略了任务调度的重要性,经常出现数据任务超时、顺序错乱、重复执行的问题,导致每日数据更新不稳定。用Airflow调度工具梳理规整所有数据任务的执行逻辑,再通过可视化工具将枯燥的海量数据转化为直观的图表看板,非技术的业务人员也能快速读懂数据背后的用户规律。

项目收尾那天,加班到凌晨三点,盯着后台平稳滚动的数据流,手动删掉了之前反复报错的旧版采集脚本。

了解更多百科知识请访问 百科