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

仲小九929


想要了解大数据和Java语言区别是什么?我们先来简单了解一下他们定义的范畴:

大数据:简而言之,就是海量的数据,数据种类繁多,数据结构多变,数据存储方式不同,需要通过工具去收集这些数据,然后存储在存储介质的集群上。

java:java是一门计算机的编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。


从定义可以大概了解到大数据和java语言区别应该是java语言只是大数据中的一门开发工具语言,具体是怎么样?我们一起来看看大数据架构和java语言在大数据中应用。


大数据架构

一、数据源

首先从最底层的数据源来讲,大数据包含的数据是各方各面的,所有在数据的来源上也是多种多样的。从种类上来讲大体上可以分为以下几类:

  • 日志数据:应用系统的运行日志,用户访问的行为日志等

  • DB数据:企业内部业务系统的数据,例如客户管理系统的客户数据,订单系统的订单数据,物流系统的物流数据等

  • 流式数据:简单的理解就是实时采集的数据,源源不断像流水一样产生的数据,例如淘宝上用户的访问记录

  • 互联网数据:互联网数据有两种,一种是自己去采集的数据,一种是跟外部企业合作的数据,例如可以开发爬虫程序去爬取网站上公开的信息,和淘宝京东合作利用客户购买行为数据等

  • 其他数据:还有一些其他方面的数据,例如硬件设备产生的数据,特别是现在IOT物联网的火热,就是将所有硬件设备的数据收集起来进行分析


二、数据接入

数据源的多种多样,所以在数据接入技术和工具上也是多种多样的,常用技术和工具有以下几种:

  • Sqoop:一款用来在Hadoop(Hive)和关系型数据库之间传输数据的工具,可以将一个关系型数据库中的数据导入到HDFS(Hive)中,也可以将HDFS中的数据导入到关系型数据库中,主要是针对于DB数据源的数据接入。

  • Flume:一个分布式的、高可靠的、高可用的将大批量的不同数据源的日志数据收集、聚合、移动到数据中心(HDFS)进行存储的系统,主要针对于日志数据的收集和推送到数据仓库,类似的还有ELK体系的Logstash组件。

  • Kafka:一个分布式流处理平台,用于构造实时流数据管道,它可以在系统或应用之间可靠地获取数据,具有高性能、持久化、多副本备份、横向扩展能力,主要针对于流式数据的接入


三、数据存储


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

Hadoop是一个分布式文件系统(Hadoop Distributed File System),简称HDFS。简单的理解就是,可以利用大量便宜低端硬件配置的服务器,组建成一个跨服务器的存储集群,数据可以保存在多个服务器上,实现大数据量的存储和降低硬件成本。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。


说到数据存储,不得不说一下数据仓库的架构,不同于传统的业务系统使用的关系型数据库,Hadoop一个分布式文件系统,存储方式是按照文件的存储方式,所以就有了数据仓库架构的说法。数据仓库的架构主要有星型和雪花型两种方式:

星型:一种使用关系数据库实现多维分析空间的模式,称为星型模式。星型模式的基本形式必须实现多维空间(常常被称为方块),以使用关系数据库的基本功能。

雪花型:当星型模式的维度需要进行规范化时,星型模式就演进为雪花模式。


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



  • ODS层:ODS层主要是保存和来源数据一致的格式

  • DIM层:DIM层主要用来存储一些基础的维度表,很少会改动
  • MID层:MID层主要是用来处理根据业务逻辑和指标口径筛选出来的数据

  • DW层:DW层根据主题分类,将数据按照不同的主题建立数据表存储和进行维度化
  • DM层:DM层主要是面向应用层的建模,例如一张分析报表需要展示不同维度和指标的分析,那么根据这些维度和指标从DW层的不同主题分类中的数据关联出来,形成一张数据表给报表使用。


四、数据应用

在数据清洗完落地数据仓库之后,就是怎么去利用这些数据去变现业务价值。不同行业有不同行业的用法,在这里小编以自身经历说一下,小编所在的大数据部门主要是针对金融行业进行数据分析的,那么大概的应用场景有以下几种:

数据分析报表:基于业务需求开发的固定维度和指标的分析报表

移动端数据可视化:基于手机端App展示的数据图形可视化应用


数据分析周报,月报:按周或着按月进行数据汇总分析和预测,常用于邮件推送,公众号推送

大屏可视化驾驶舱:基于大屏端数据图形可视化,数据高度汇总,大而全


机器学习风控模型:基于机器学习算法训练出统一规则的模型,用于贷前,贷中或者贷后风控评审关卡。


java语言




在这里就不在过多的描述java的作用了,我们来聊聊java语言在大数据中可以做什么?


从上文大数据架构来看,java语言主要可以应用于开发数据应用和大数据工具,例如java web开发数据分析报表,移动可视化分析,大屏可视化驾驶舱等,也可以用于开发一些数据处理过程中用于自动化和便捷开发的工具,例如调度系统:用于数据清洗作业的自动化依赖调度;补录系统:用于数据缺失值的可视化补录表,便于数据治理的自动化;发布平台:用于调度作业一键从不同环境之间部署和数据同步审批等。



【我是蜡笔小添,专注IT前沿技术和科技资讯分享,欢迎关注我@蜡笔小添,我们一起学习交流探讨】

蜡笔小添


大数据指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。JAVA是一种编程语言。大数据可以用JAVA实现。下面是具体介绍。

大数据是一个概念包含几个方面的内涵

1. 数据量大,TB,PB,乃至EB等数据量的数据需要分析处理。

2. 要求快速响应,市场变化快,要求能及时快速的响应变化,那对数据的分析也要快速,在性能上有更高要求,所以数据量显得对速度要求有些“大”。

3. 数据多样性:不同的数据源,非结构化数据越来越多,需要进行清洗,整理,筛选等操作,变为结构数据。

4. 价值密度低,由于数据采集的不及时,数据样本不全面,数据可能不连续等等,数据可能会失真,但当数据量达到一定规模,可以通过更多的数据达到更真实全面的反馈。

Java是面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可在任何计算平台上安全地运行。如果再加上万维网和公司内部网体系,你将会拥有一个标准的网络计算环境,Java作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序


俺村的影城


本人10年开发培训经验,期间经历了Java Web,Android,H5,大数据,PHP等多个不同的方向的开发,也做过软件培训公司的金牌讲师,很有兴趣回答你这个问题。

对于大数据和Java语言的区别,我觉得还是很大的,有多大呢?可能就跟“建筑工人与楼房的区别”一样,当然这个比喻可能也不是很恰当,大约就是这样吧。

为啥这样说呢?

大数据:

大数据确切的说,它并不能算一门具体的技术,而是一种概念,一种大的技术范畴。大数据主要是用来处理,分析,存储海量数据,对这些大量的数据进行加工处理等操作。大数据领域里面涉及到Hadoop,hive,flink,hbase,java等各种具体的技术,看清楚,在这里Java也可以为大数据的实现提供服务哦。所以可以说,Java可以帮助我们实现大数据的开发,Java就像是一个“建筑工人",它可以把各种数据原料整合在一起,构建出大数据这么一个环境。

Java:

Java就是一门面向对象的高级编程语言,可以用Java实现Android,Web,Swing等各中软件的开发,是一门具体的技术。


我从事互联网开发10年,主要的研究方向集中在Java web微服务架构领域,Android移动端研发,HTML5前端方向,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信你一定会有所收获。

如果有Java,Android,H5等开发方面的问题,或者是开发求职方面的问题,都可以在评论区留言,或者私信我。


一一哥Sun


请高兴能回答你的问题!

首先要明确一点,大数据是一个行业方向,而Java是一门开发语言

大数据是什么

大数据是近几年的一个专业名词,以海量数据为核心,产生数据分析结果的技术处理过程和处理方式。大数据本身不在于原始数据的多少,而在于通过大数据分析数据产生之后的应用数据的价值是什么。

大数据最开始用的技术大家都认为是Hadoop,但实际上大数据处理的方式多种多样,处理的技术语言可选性也很多,Java是其中一种,但并不是唯一的一种。 像C、GO、Python都可以处理大数据。

当然基于大数据的数据存储和计算的要求,云计算和大数据也算是共生共存的。


Java是什么?

Java是一种跨平台的开发语言,应用的场景很多, WEB,SERVICE,API,APP等等,算是目前各开发语言当中综合能力最强的一种。目前来看市场中Java开发的就业机会还是最高的。


说到这里,我想你应该能足够解答你的问题了。


如果我的回答对你有帮助,请记得点赞收藏!


明哥读世界


大数据指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。JAVA是一种编程语言。大数据可以用JAVA实现。下面是具体介绍。

大数据是一个概念包含几个方面的内涵

1. 数据量大,TB,PB,乃至EB等数据量的数据需要分析处理。

2. 要求快速响应,市场变化快,要求能及时快速的响应变化,那对数据的分析也要快速,在性能上有更高要求,所以数据量显得对速度要求有些“大”。

3. 数据多样性:不同的数据源,非结构化数据越来越多,需要进行清洗,整理,筛选等操作,变为结构数据。

4. 价值密度低,由于数据采集的不及时,数据样本不全面,数据可能不连续等等,数据可能会失真,但当数据量达到一定规模,可以通过更多的数据达到更真实全面的反馈。

Java是面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可在任何计算平台上安全地运行。如果再加上万维网和公司内部网体系,你将会拥有一个标准的网络计算环境,Java作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序

--------------河南新华


慎谈奥秘


大数据开发需要编程语言基础,Java是世界上应用最广泛的计算机编程语言,具有功能强大和简单易用两个特征,同时还具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。

Java具有的众多特性,特别适合作为大数据应用的开发语言,当下Hadoop以及其他大数据处理技术很多都是用Java,Java是大数据技术的主要支持言语,当下学大数据技术之前都会先学Java语言。

主流大数据框架hadoop、spark、HBase等离不开Java平台


迁与迁寻


大数据学名为BigData,是前几年新兴起的一个IT名词,偏算法和实现,又分为工程类和应用类。Java是一门开发语言,两者本质上并无直接可比较的地方。但大数据本身也有非常多的开发语言来支持,所以如果就开发语言和能力来比较又会产生非常多的方向性。下面给您详细描述下各自的行业描述和对应的细节。

大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换而言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式架构。它的特色在于对海量数据进行分布式数据挖掘。但它必须依托云计算的分布式处理、分布式数据库和云存储、虚拟化技术。 随着云时代的来临,大数据(Big data)也吸引了越来越多的关注。分析师团队认为,大数据(Big data)通常用来形容一个公司创造的大量非结构化数据和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。

大数据目前可以使用的平台很多,而且厂商也很多,如Cloudera、华为的版本、Hadoop等。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

Java面向对象实现便捷、快讯的开发方式,很受学生、工程师欢迎,目前很多高校、职业院校开展Java课程学习,同事随着互联网、移动互联网的发展,web、手机的开发更偏向轻便的Java语言。


立军胡


一:两者关系

java是计算机的一门编程语言;可以用来做很多工作,大数据开发属于其中一种;

大数据属于互联网方向,就像现在建立在大数据基础上的AI方向一样,

他两不是一个同类,但是属于包含和被包含的关系;

java可以用来做大数据工作,大数据开发或者应用不必要用java,可以Python,Scala,go语言等。

二:发展:

java属于语言,编程语言的发展未来说不准,至少现在java变成还是不错的前景,大数据大部分框架都有java的支持或者底层是java写的;

大数据的发展,概念可以理解为社会进步数据的巨量增加带来的价值性利用,成为大数据的一个方向。就像AI建立在大数据的数据量的基础上,未来会一直往技术前进的方向发展。

三:总结:

java目前算是主流,可以多学几门语言,技多不压身,百利而无一害对于开发;

大数据的这个方向,不会消失,只会随着技术的发展更加智慧性。


IT从业者陈斌


大数据只是一个称呼,表示可以对大量数据处理,分析出来一些趋势,比如股票价格,猪肉价格等,而java语言是一种高级编程语言,可以开发软件,也可以去作为大数据开发项目使用的语言,比如Hadoop,hive,flink,hbase。Java语言开发的软件程序可以无需用户去关心内存的分配。


Java学习爱好者


因为现在是大数据时代,Hadoop,flink等等技术都比较吃香,大数据主要是做数据的处理,需要一定的算法基础,而做大数据至少需要一门开发语言作为支撑,很多人从事大数据选择的都是Java语言,而单纯的Java语言只是做开发的


分享到:


相關文章: