课程计划
- 多彩缤纷数据源
1.1 业务系统数据
1.2 爬虫数据 - 数据的管理
2.1 数据文件管理
2.1.1 FTP文件服务
2.1.2 NFS文件服务
2.1.3 Samba文件服务
2.2 文件管理规范
2.2.1 接口新增数据文件
2.2.2 接口控制校验文件
2.2.3 接口表结构文件
2.3 数据质量检测 - 数据仓库
3.1 数据仓库的基本概念
3.2 数据仓库的主要特征
3.3 数据仓库与数据库区别
3.4 数据仓库分层架构
3.5 数据仓库元数据管理 - Apache Hive
4.1 Hive简介
4.1.1 什么是Hive
4.1.2 为什么使用Hive
4.2 Hive架构
4.2.1 Hive架构图
4.2.2 Hive组件
4.2.3 Hive与Hadoop的关系
4.3 Hive与传统数据库对比
4.4 Hive数据模型
4.5 Hive安装部署 - Hive基本操作
5.1 DDL操作
5.2 DML操作
5.2.1 Load
5.2.2 Insert
5.2.3 Select
5.3 Hive join - Hive参数配置
6.1 Hive命令行
6.2 Hive参数配置方式 - Hive函数
7.1 内置运算符
7.2 内置函数
7.3 Hive自定义函数和Transform
7.4 Hive特殊分隔符处理(扩展)
多彩缤纷数据源
典型的数据分析系统,要分析的数据种类其实是比较丰富的。依据来源可大体分为以下几个部分:
图:数据分析系统数据来源
一家公司只要去提供服务,不管是PC网站,H5页面,还是移动端APP,只要在用户使用服务,就会在页面上有各种各样的行为。这些行为,如果想去开展分析的话,这一块数据就需要收集过来,比如说JS,它就是用来专门搜集在页面上的这种行为。它的整个技术核心点,叫做埋点。也就是说,在想要去搜集数据的页面,去埋上一段代码。这段代码,在某种条件下就会被触发。比如说打开页面,比如说点击链接,触发这个链接之后,这一段代码就会去执行,就会去加载JS进行相关页面的数据收集,传到后端来保存数据。
如果说这一块要去开展的话,得去搭建一个自主数据采集系统。但是有一个前提,进行数据分析,不能影响网站的正常业务逻辑。数据分析是为了锦上添花,如果因为分析导致正常业务逻辑产生了影响,得不偿失。
后端有服务器的支持,比如说Java EE,后端会部署WEB服务,WEB服务有WEB服务器的支持,这些用户来方位,也可以获取到。各个系统都会使用到数据库,不管是订单系统、抢购系统、购物系统,还是用户注册登录系统,基本上每个业务模块都有一张表甚至多张表来与它对应。这些存储在传统数据库的表的数据,如果需要的话,也可以参加分析。比如说订单数据,分析过去一个星期,网站卖的东西种类与地域分布情况。因为数据库都是内部的,直接可以通过接口来获取数据,也可以通过Java消息,生成订单的时候,就发一个消息过来,但是无论如何,不能影响正常的业务逻辑。也不能对业务系统的数据库造成非常大的压力。
外部数据可以通过比如爬虫技术,爬出商品价格或者销售策略,根据数据分析,作出相应判断,这种在电商行业还是非常多的。
业务系统数据
业务系统产生的数据是不可忽视,比如电商网站,大量的订单数据看似杂乱无章,实则蕴含潜在的商业价值,可以从中分析进而进行商业推广,产品推荐等。
另一角度来看,业务系统数据获取成本低、方式容易,属于公司内部范畴。业务系统的数据一般保存在关系型数据库当中。获取形式有:
- 接口调用:直接获取业务系统数据库的数据,但是要注意不能影响业务系统数据库的性能,比如大量获取数据增大数据库读数据压力。
- 数据库dump:非高峰时段,或者在数据库从库上dump出全部数据。一般企业中会定时进行数据库的备份、导出工作,那么就可以共享使用这些数据。
比如MySQL数据库,使用mysqldump工具就可以进行数据库的导出。
mysqldump -uroot -pPassword [database name] [dump file]
mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
爬虫数据
在进行网站数据分析的时候,除了内部数据之外,还有一部分数据是我们不能够忽视的。那就是所谓的外部数据。当然这是相对公司网站来说的。拥有了外部数据可以更好的帮助我们进行数据分析。
爬虫(Web crawler),是指一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 他们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。
电子商务行业最初的爬虫需求来源于比价。这是某些电商网站的核心业务。大家如果买商品的时候,是一个价格敏感型用户的话,很可能会使用比价功能。毫无悬念,会使用爬虫技术来爬取所有相关电商的价格。
当然,这并不意味着大家喜欢被爬取,于是需要通过技术手段来做反爬虫。