大数据就是存储、计算、应用大数据的技术,如果没有数据,所谓大数据就是无源之水、无本之木,所有技术和应用也都无从谈起。可以说,数据在大数据的整个生态体系里面拥有核心的、最无可代替的地位。很多从事机器学习和人工智能的高校学者选择加入互联网企业,并不是贪图企业给的高薪,而是因为只有互联网企业才有他们做研究需要用到的大量数据。
技术是通用的,算法是公开的,只有数据需要自己去采集。因此数据采集是大数据平台的核心功能之一,也是大数据的来源。数据可能来自企业内部,也可能是来自企业外部,大数据平台的数据来源主要有数据库、日志、前端程序埋点、爬虫系统。
从数据库导入
在大数据技术风靡之前,关系数据库(RDMS)是数据分析与处理的主要工具,我们已经在关系数据库上积累了大量处理数据的技巧、知识与经验。所以当大数据技术出现的时候,人们自然而然就会思考,能不能将关系数据库数据处理的技巧和方法转移到大数据技术上,于是 Hive、Spark SQL、Impala 这样的大数据 SQL 产品就出现了。
虽然 Hive 这样的大数据产品可以提供和关系数据库一样的 SQL 操作,但是互联网应用产生的数据却还是只能记录在类似 MySQL 这样的关系数据库上。这是因为互联网应用需要实时响应用户操作,基本上都是在毫级完成用户的数据读写操作,通过前面的学习我们知道,大数据不是为这种毫秒级的访问设计的。