0829(041天 大数据01 概论)
每日一狗(田园犬西瓜瓜)
大数据01 概论
文章目录
1. 概论
数据和信息是现在的。智慧与知识是未来的。
**大数据:**指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。
- 处理结果具有时效性
- 注重全量数据,而不是样本数据。
- 注重相关性,而非因果关系。
- 存储模式:并非固定的数据库,而是分布在不同的网络空间
4V特征:
- 数据量大 volume(GB以上)
- 数据类型繁多 variety(音频、视频、文本、应用数据等等)
- 速度快 velocity(生成速度)
- 价值密度底 value (有用,但只有一点点)
- 网络添加:真实性
前沿技术
- 廉价的存储设备
- CPU处理能力(摩尔定律:CPU性能大约每隔18个月提高一倍,价格下降一半)
- 网络带宽(千兆网遍地走。4G100Mbps,5G1Gbps)
流程:数据采集接入—数据清洗—数据融合—数据分析挖掘—数据可视化—运营维护
技术执行流程:数据收集、数据存储、资源管理、计算框架、数据分析和数据展示
技术理念:人多力量大,水平线性扩展。
1.1 大数据开发总体架构
- 数据来源:MySQL数据库、文件日志半结构化数据、视频PPT非结构化数据
- 数据传输:Flume数据采集、Sqoop数据迁移、Kafka消息队列
- 数据存储:ElasticSearch全文检索、HBase非关系型数据库、HDFS文件存储
- 资源管理:YARN(算力、存储)
- 数据计算:MapReduce离线计算、Flink Core内存计算
- 任务调度:Crontab定时任务和Oozie任务调度
- 业务模型:数据可视化和业务逻辑处理
1.2 大数据的影响
在思维方面:大数据完全颠覆了传统的思维方式:全样而非抽样、效率而非精确、相关而非因果
1.3 计算模式
- 离线批处理:针对大规模的历史数据
- 流处理:针对实时计算,例如Storm
- 图处理:常用于社交网络,如GraphX
- 查询分析:大规模的存储管理和查询分析。例如Hive和Cassandra
1.4 环境搭建
win:开发环境
- JDK
centos7:模拟运行环境
- JDK
- 网络配置:
- 桥接:相当于时有两台设备
2. Maven
项目管理
版本控制
依赖管理下载
2.1 POM基础
properties标签
<project …> 下的properties 自定义标签(类似设置变量)
<spring.version>4.0.0.RELEASE</spring.version>
约定的目录结构
Hello
src
——main
————java // 项目程序
————resources // 项目环境
——test
————java // 单元测试程序
————resources // 测试环境
pom.xml // 总体配置文件
2.2 依赖管理
依赖的原则
- 路径最短者优先
- 路径相同时先声明者优先
还不行就用依赖排除后重新声明
问:如何解决maven中的依赖冲突问题
直接依赖、间接依赖
- 路径最短原则:根据依赖的距离来进行判定
依赖范围
2.3 仓库管理
本地:为当前本机电脑上的所有Maven工程服务。
远程仓库
- 私服
- 中央仓库:架设在Internet上,为全世界所有Maven工程服务。
- 中央库的镜像源:各大洲的备份
2.4 生命周期
以下为几个比较重要的生命周期
compile 编译项目的源代码。
test-compile 编译测试源代码。
package 接受编译好的代码,打包成可发布的格式,如JAR。
install 将包安装至本地仓库,以让其它项目依赖。
deploy将最终的包复制到远程的仓库,以让其它开发人员与项目共享或部署到服务器上运行。