Apache Hadoop
官网:http://hadoop.apache.org/
历史:Doug Cutting于2006年在谷歌大数据论文(GFS,MapReduce,BigTable)的基础上创始Hadoop,并加入了Apache基金会
概念
GFS:谷歌分布式文件系统
job:作业
task:任务
流处理:实时处理,流式计算
批处理:离线处理
数据仓库:从不同来源提取到的数据,存储到一个只用于查询(统计)的数据库中,这个数据库就是数据仓库
Hadoop组件
Core:master 节点
HDFS:Hadoop Distributed File System,Hadoop分布式文件系统,是GFS的开源实现
MapReduce:并行处理框架,实现任务分解和调度
Yarn:MapReduceV2,代替MapReduce的新的并行处理框架
HDFS节点
NameNode:HDFS管理节点,存放元数据(记录数据块位置),对DataNode进行心跳检测
DataNode:HDFS工作节点,存放数据块,会冗余存储
SecondaryNameNode:二级NameNode,备份NameNode,替补NameNode
HDFS操作
HDFS操作命令格式:hadoop fs -HDFS指令 参数
查看指定目录下的文件列表:hadoop fs -ls /
把本地文件提交到HDFS:hadoop fs -put demo.xml /
新建目录:hadoop fs -mkdir /demo
查看文件:hadoop fs -cat /demo.xml
把HDFS里的文件拉到本地:hadoop fs -get /demo.xml demo1.xml
查看状态信息:hdfs dfsadmin -report
MapReduce节点
JobTracker:MapReduce 管理节点,作业调度,分发Map Task 和 Reduce Task
MapTaskTracker:处理Map Task,即单点统计
ReduceTaskTracker:处理Reduce Task,即归约
大数据生态圈
Apache Hbase:Hadoop Database,是BigTable的开源实现;大规模列式存储,存储HDFS上数据的索引信息
Apache Hive:基于HDFS的数据仓库,能将HQL语句(类似于SQL)转换为MapReduce任务并执行,从而对外提供SQL查询能力
Apache Avro:用于数据序列化,适配多种编程语言
Apache Parquet:用于存储嵌套数据的列式存储格式
Apache Flume:用于将不同来源(文件、报文)的数据采集到HDFS/HBase/Hive
Apache Sqoop:用于HDFS/HBase/Hive 与 关系型数据库之间进行数据迁移(导入导出)
Apache Pig:用于简化MapReduce操作(排序、过滤、求和、分组、关联)的脚本语言(Pig Latin)
Apache Crunch:用于简化MapReduce操作的Java库,可以看着是Java版的Apache Pig
Twitter Storm:Twitter开源的流处理框架
Apache Flink:同时支持流处理和批处理
Apache Spark:MapReduce的代替者,处理过程数据存在内存中,比MapReduce快
阿里云
批量计算:自动处理DAG(由MapReduce演化而来)作业
云数据库 HBase 版
大数据计算服务 · MaxCompute:数据仓库
分析型数据库
Data Lake Analytics
E-MapReduce:基于 Hadoop/Spark
实时计算:基于 Apache Flink
DataV数据可视化
关系网络分析
Quick BI:Business Intelligence商业智能,即报表
智能推荐
数加 · 数据集成:不同数据源的数据同步
数加 · DataWorks:一站式大数据开发平台
其他工具
字节跳动 - 火山引擎
友盟 - 智能推荐 U-Rec
网友评论