MapReduce\Hadoop\HDFS上\Hive学习笔记

来源:互联网 发布:mac bootcamp磁盘权限 编辑:程序博客网 时间:2024/06/07 13:17

MapReduceHadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据;

Hive则是SQL On HadoopHive提供了SQL接口,开发人员只需要编写简单易上手的SQL语句,Hive负责把SQL翻译成MapReduce,提交运行。

如何把数据源的数据采集到Hadoop

Hadoop与关系型数据库数据交换的工具:Sqoop\Flume\DataX

1、HDFS API,实际环境中一般自己较少编写程序使用API来写数据到HDFS,通常都是使用其他框架封装好的方法。

2、Sqoop是一个主要用于Hadoop/Hive与传统关系型数据库Oracle/MySQL/SQLServer等之间进行数据交换的开源框架。

3、Flume是一个分布式的海量日志采集和传输框架,因为“采集和传输框架”,所以它并不适合关系型数据库的数据采集和传输。

Flume可以实时的从网络协议、消息系统、文件系统采集日志,并传输到HDFS上。


4、阿里开源的DataX

Hadoop上的数据搞到别处去

1、HDFS上的文件GET到本地。

2、HDFS API

3、DataX

4、Sqoop

SQL On Hadoop的框架

1、SparkSQLImpalaPresto.

数据的一次采集、多次消费

Flume不能间隔很短就往HDFS上滚动文件,这样会导致小文件特别多。

为了满足数据的一次采集、多次消费的需求,这里要说的便是Kafka


调度监控系统


当平台中有几百上千个任务需要维护和运行时候,仅仅靠crontab远远不够了

调度监控系统是整个数据平台的中枢系统,类似于AppMaster,负责分配和监控任务

常用工具:

1、Apache Oozie

2、其他:Azkaban、light-task-schedulerZeus

介绍网站:https://azkaban.github.io/

https://github.com/ltsopensource/light-task-scheduler

https://github.com/alibaba/zeus


数据分为实时和准实时

实时使用最多的工具是:storm

准实时工具:spark streaming


对外提供数据的方式

1、满足实时查询,可能的方案有:HBaseRedisMongoDBElasticSearch

2、