大数据技术——数据获取
Posted hzuCode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据技术——数据获取相关的知识,希望对你有一定的参考价值。
主要介绍大数据获取的应用和场景,组件和技术不做详述,之后介绍。
1. 网络爬虫
根据URL,并按照一定规则爬取网页内容,存储进库。
相关概念:
https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB
推荐技术:
PYTHON(Scrapy): 适用小型爬虫项目
JAVA(Nutch):适用高并发下的爬虫项目
假如对性能和效率有很高的要求,推荐C++,但开发代价略高。
2. 数据埋点
根据用户的特定请求,触发采集事件,从而获取用户行为数据
相关概念:
https://www.zhihu.com/question/36411025
相关技术:
网站平台:JS前端埋点+任意一种后端语言
安卓平台:JAVA开发SDK
根据平台的开发语言选择不同的技术实现埋点
3. 数据集成
3.1 日志收集
利用FLUME将日志存储进库。
相关概念:
https://blog.csdn.net/pelick/article/details/18193527
3.2 其他平台的数据源接入
利用sqoop将不同的数据源接入至HDFS
相关概念:
https://blog.csdn.net/dashujuedu/article/details/53669546
4. 数据接入
实时流数据先接入KAFKA,以提供实时处理。
再接入进HIVE(HDFS)中,以提供离线分析。
相关概念:
https://www.cnblogs.com/BYRans/p/6054930.html http://lxw1234.com/archives/2015/06/238.htm
例如:
日志采集系统的数据流:
日志数据-->FLUME-->KAFKA-->HIVE
用户行为采集系统的数据流:
行为数据-->KAFKA-->HIVE
推荐技术:
MAPREDUCE、STROM、SPARK STEAMING。
相关概念:
https://blog.csdn.net/amuseme_lu/article/details/4788820
http://xinklabi.iteye.com/blog/2175661
https://www.cnblogs.com/shenh062326/p/3530092.html
归纳: 一般的数据源为网络爬虫,数据埋点,数据集成。当获取数据后对接自己的数据平台(HIVE HDFS)。
本文章提及较多HADOOP生态圈的组件,但只是工具。可以不深究其技术原理,能掌握其特点和应用场景即可。
例如数据平台之所以用HIVE搭建。是因为列存储和分布式存储为大数据处理提供高效的优势,类SQL的语法为大数据分析提供低成本的开发环境。
读者也可以想想为啥实时流数据先进KAFKA,再进入HIVE。
以上是关于大数据技术——数据获取的主要内容,如果未能解决你的问题,请参考以下文章