初步理解大数据

先来聊聊大数据的几个特征:

数据来源广数据格式多样数据量大(至少也得是TB级别的),数据增长速度快

数据来源广,该如何采集汇总呢?出现了 Sqoop、Cammel、DataX等工具。
数据量大,该如何存储呢?出现了GFS、HDFS、TFS等分布式文件存储系统。
数据增长迅速,就必须使得系统可以水平扩展。

数据存储之后,如何通过快速的运算得到一致格式的数据呢?出来了MapReduce这样的分布式计算框架,需要编写大量的额Java语言,所有出现了像Hive,Pig等将SQL转换成mapreduce的解析引擎。但是还有一个问题,就是普通MapReduce只能一批一批的处理,我们每当输入一条的时候就想想获得结果,怎么办呢?出现了Storm/JStrom这样的低时延的流式计算框架。但是如果你想同时支持批处理和流处理,按照上面的说法,你就得搭建两个集群,一个hadoop集群,一个Strom集群,所以出现了像Spark这样的一站式解决方案,既可以进行批处理,又能进行流处理(实际上是微批处理)。

而后Lambda架构,Kappa架构的出现,又提供了一种业务处理的通用架构。

为了提高工作效率,加快运速度,出现了一些辅助工具:

  • Ozzie,azkaban:定时任务调度的工具。
  • Hue,Zepplin:图形化任务执行管理,结果查看工具。
  • Scala语言:编写Spark程序的最佳语言,当然也可以选择用Python。
  • Python语言:编写一些脚本时会用到。
  • Allluxio,Kylin等:通过对存储的数据进行预处理,加快运算速度的工具。

大数据工作的几个方向:

数据工程师;数据分析师;大数据科学家;

大数据必备技能:

  • 大数据通用处理平台:Hadoop 、Spark
  • 分布式数据存储:HDFS
  • 资源调度:Yarn 、Mesos
  • 数据分析、数据仓库:Hive、Pig、SparkSQL、Kylin
  • 消息队列:Kafka、RabbitMQ
  • 编程语言:Java、Python、Scale
  • 日志收集:Flume
  • 流式计算:Strom/JStrom、Spark Streaming
  • Hadoop家族:Sqoop、Hase、Hue、Ooie、zookeeper

上面出现了很多专业术语,需要解释一下:

1.HDFS 全称 Hadoop Distributed Filesytem。
2.Yarn 全称 Yet Another Resource Negotiator
3.Mesos ,分布式资源管理框架
4.Kafka,分布式发布订阅消息系统
5.RabbitMQ: 解释上什么是消息队列,为什么使用消息队列

  1. Flume:官网,它是一种分布式、可靠的,用于有效的收集、聚合、移动大量日志文件。百科
  2. zookeeper,官网,分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。
  3. Sqoop,官网,是hdfs、hive、hbase和RDBMS结构化数据库之间传输大量数据的工具。博客说明

9,Hue,通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览HBase数据库等等。引用于这篇文章

你可能感兴趣的:(初步理解大数据)