大数据技术——数据获取

主要介绍大数据获取的应用和场景,组件和技术不做详述,之后介绍。

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。

 

posted on 2018-08-12 23:45  hzuCode  阅读(745)  评论(0编辑  收藏  举报

导航