大数据和Java语言有啥区别?


想要了解大数据和Java语言区别是什么?我们先来简单了解一下他们定义的范畴:
大数据:简而言之 。就是海量的数据 。数据种类繁多 。数据结构多变 。数据存储方式不同 。需要通过工具去收集这些数据 。然后存储在存储介质的集群上 。
java:java是一门计算机的编程语言 。可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序 。
从定义可以大概了解到大数据和java语言区别应该是java语言只是大数据中的一门开发工具语言 。具体是怎么样?我们一起来看看大数据架构和java语言在大数据中应用 。
大数据架构

大数据和Java语言有啥区别?

文章插图
一、数据源
首先从最底层的数据源来讲 。大数据包含的数据是各方各面的 。所有在数据的来源上也是多种多样的 。从种类上来讲大体上可以分为以下几类:
日志数据:应用系统的运行日志 。用户访问的行为日志等
DB数据:企业内部业务系统的数据 。例如客户管理系统的客户数据 。订单系统的订单数据 。物流系统的物流数据等
流式数据:简单的理解就是实时采集的数据 。源源不断像流水一样产生的数据 。例如淘宝上用户的访问记录
互联网数据:互联网数据有两种 。一种是自己去采集的数据 。一种是跟外部企业合作的数据 。例如可以开发爬虫程序去爬取网站上公开的信息 。和淘宝京东合作利用客户购买行为数据等
其他数据:还有一些其他方面的数据 。例如硬件设备产生的数据 。特别是现在IOT物联网的火热 。就是将所有硬件设备的数据收集起来进行分析
二、数据接入
大数据和Java语言有啥区别?

文章插图
数据源的多种多样 。所以在数据接入技术和工具上也是多种多样的 。常用技术和工具有以下几种:
Sqoop:一款用来在Hadoop(Hive)和关系型数据库之间传输数据的工具 。可以将一个关系型数据库中的数据导入到HDFS(Hive)中 。也可以将HDFS中的数据导入到关系型数据库中 。主要是针对于DB数据源的数据接入 。
Flume:一个分布式的、高可靠的、高可用的将大批量的不同数据源的日志数据收集、聚合、移动到数据中心(HDFS)进行存储的系统 。主要针对于日志数据的收集和推送到数据仓库 。类似的还有ELK体系的Logstash组件 。
Kafka:一个分布式流处理平台 。用于构造实时流数据管道 。它可以在系统或应用之间可靠地获取数据 。具有高性能、持久化、多副本备份、横向扩展能力 。主要针对于流式数据的接入
【大数据和Java语言有啥区别?】三、数据存储
大数据和Java语言有啥区别?

文章插图
说到数据存储 。大数据的发展历史离不开一个叫Hadoop的家族产品 。可以很直接的这么说 。没有Hadoop就没有大数据 。国内很多大数据公司一开始建立的数据存储数仓都是基于Hadoop体系建立的 。那么Hadoop到底是什么呢?
大数据和Java语言有啥区别?

文章插图
Hadoop是一个分布式文件系统(Hadoop Distributed File System) 。简称HDFS 。简单的理解就是 。可以利用大量便宜低端硬件配置的服务器 。组建成一个跨服务器的存储集群 。数据可以保存在多个服务器上 。实现大数据量的存储和降低硬件成本 。
Hadoop的框架最核心的设计就是:HDFS和MapReduce 。HDFS为海量的数据提供了存储 。而MapReduce则为海量的数据提供了计算 。
说到数据存储 。不得不说一下数据仓库的架构 。不同于传统的业务系统使用的关系型数据库 。Hadoop一个分布式文件系统 。存储方式是按照文件的存储方式 。所以就有了数据仓库架构的说法 。数据仓库的架构主要有星型和雪花型两种方式:
大数据和Java语言有啥区别?

文章插图
星型:一种使用关系数据库实现多维分析空间的模式 。称为星型模式 。星型模式的基本形式必须实现多维空间(常常被称为方块) 。以使用关系数据库的基本功能 。
大数据和Java语言有啥区别?

文章插图
雪花型:当星型模式的维度需要进行规范化时 。星型模式就演进为雪花模式 。
大数据的数据仓库架构主要采用雪花型架构 。因为数据源的多样化 。导致数据结构也是多样化的 。不同于关系型数据库 。都是基于二维表的形式 。而大数据的数据有文本数据 。日志数据 。设备数据 。爬虫数据 。业务数据等 。所以从接入数据到数仓还需要经过ETL(抽取-extract、转换-transform、加载-load)清洗的过程才能落地到数据仓库 。一般数据仓库架构可以分为五层:

推荐阅读