草庐IT

1.1 大数据简介-hadoop-最全最完整的保姆级的java大数据学习资料

假装文艺范儿 2023-03-28 原文

1 hadoop-最全最完整的保姆级的java大数据学习资料

大数据技术解决的是什么问题?
大数据技术解决的主要是海量数据的存储和计算。
Hadoop的广义和狭义之分
狭义的Hadoop:指的是一个框架,Hadoop是由三部分组成:HDFS:分布式文件系统--> 存储; MapReduce:分布式离线计算框架-->计算;Yarn:资源调度框架
广义的Hadoop:广义Hadoop是不仅仅包含Hadoop框架,除了Hadoop框架之外还有一些辅助框 架。Flume:日志数据采集,Sqoop:关系型数据库数据的采集;
Hive:深度依赖Hadoop框架完成计算(sql),Hbase:大数据领域的数据库(mysql)
Sqoop:数据的导出
广义Hadoop指的是一个生态圈。

主要学习内容

第一部分:大数据简介(定义,特点,应用场景,发展趋势,职业发展路线)
第二部分:Hadoop简介(历史,发展路线-版本变更,发行版(CDH))
第三部分:Hadoop的重要组成(hdfs,mapreduce,yarn)
第四部分:Apache Hadoop 完全分布式集群搭建
第五部分:HDFS 分布式文件系统(架构,原理,常用api, 元数据管理,权限,日志采集的综合案例)
第六部分:MapReduce分布式计算框架 (原理,常用的编程规范等,大量案例练习-分区,排序-快 排-归并排序,压缩,自定义组件,综合案例)
第七部分:Yarn 资源调度框架(架构,原理,三种资源调度策略)
第八部分:Apche Hadoop核心源码剖析(nn,dn启动流程源码分析,nn高并发的支撑原理, hadoop3.0新特性)
第九部分: 调优及二次开发示例(hdfs,mr,yarn调优,nn常见GC问题,完成二次开发编译源码)

1.1 大数据简介

1.1.1 大数据的定义

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

1.1.2 大数据的特点

大数据的特点可以用 IBM 曾经提出的 “5V” 来描述,如下:

  • 大量

    采集、存储和计算的数据量都非常大。

    计算机存储单位一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB、NB、DB来表示, 它们之间的关系是
    1GB = 1024 MB
    1TB = 1024 GB
    1PB = 1024 TB
    1EB = 1024 PB
    1ZB = 1024 EB
    1YB = 1024 ZB
    1BB = 1024 YB
    1NB = 1024 BB
    1DB = 1024 NB

    以PB为例,PB级数据量有多大?是怎样的一个概念?

    假如手机播放MP3的速度为平均每分钟1MB,而1首歌曲的平均时长为4分钟,那么1PB存量的歌曲可以连续播放2000年。

    1PB 也相当于50%的全美学术研究图书馆藏书咨询内容。

    (1)1986年,全球只有0.02EB也就是约21000TB的数据量
    (2)2007年,全球就是280EB也就是约300000000TB的数据量,翻了14000倍
    (3)近些年,由于移动互联网及物联网的出现,各种终端设备的接入,各种业务形式的普 及,平均每40个月,全球的数据量就会翻倍!2012年,每天会产生2.5EB的数据量
    (4)基于IDC的报告预测,从2013年到2020年,全球数据量会从4.4ZB猛增到44ZB!而到了 2025年,全球会有163ZB的数据量!

    全球的数据量已经大到爆了!而传统的关系型数据库根本处理不了如此海量的数据!

  • 高速

    在大数据时代,数据的创建、存储、分析都要求被高速处理,比如电商网站的个性化推荐尽可能要求实时完成推荐,这也是大数据区别于传统数据挖掘的显著特征。

  • 多样

    数据形式和来源多样化。包括结构化、半结构化和非结构化数据,具体表现为网络日志、音 频、视频、图片、地理位置信息等等,多类型的数据对数据的处 理能力提出了更高的要求。

  • 真实

    确保数据的真实性,才能保证数据分析的正确性

  • 低价值

    数据价值密度相对较低,或者说是浪里淘沙却又弥足珍贵。互联网发展催生了大量数据,信息海量,但价值密度较低,如何结合业务逻辑并通过强大的机器算法来挖掘数据价值,是大数据时代最需要解决的问题,也是一个有难度的课题。

1.1.3 大数据的应用场景

随着大数据的发展,大数据技术已经广泛应用在众多行业,比如仓储物流、电商零售、汽车、电信、生物医学、人工智能、智慧城市等等领域,包括在疫情防控战中,大数据技术也发挥了重要的作用。

  • 仓储物流
    大数据技术驱动了仓储物流领域的智能化发展,以苏宁为例,苏宁物流可在全国的各级仓库间实现 智能分仓、就近备货和预测式调拨,实现”客户需要的商品就在离客户最近的配送中心“。

  • 电商零售

    • 零售业 ” 啤酒+纸尿裤 “ 案例

  • 个性推荐

  • ” 双11购物节 “ 实时销售额大屏

  • 汽车

    利用了大数据和物联网技术的无人驾驶汽车,在不远的未来将走入我们的日常生活

  • 电信
    移动联通根据用户年龄、职业、消费情况,分析统计哪种套餐适合哪类人群,对市场人群精准定制。

  • 生物医学

    大数据可以帮助我们实现流行病预测、智慧医疗、健康管理,同时还可以帮助我们解读DNA,了解更多的生命奥秘。比如影像大数据支撑下的早期肺癌支撑平台,基于大量病例数据样本,制定早期肺癌高危人群预警指标。

  • 人工智能

  • 智慧城市

    大数据有效支撑智慧城市发展,成为城市的”数据大脑“。比如,在智慧城市建设上,杭州始终走在全国前列。如覆盖面广的移动支付、新颖的在线医疗模式、创新的物流运输模式,都受到较大关注。2016年,杭州被《中国新型智慧城市》白皮书评为“中国最智慧的城市”。

大数据的价值,远远不止于此,大数据对各行各业的渗透,大大推动了社会生产和生活,未来必将产生重大而深远的影响。

1.1.4 大数据的发展趋势及职业路线

1.4.4.1 大数据发展趋势

  1. 2015年党的十八届五中全会提出“实施国家大数据战略”,国务院印发《促进大数据发展行动纲要》,大数据技术和应用处于创新突破期,国内市场需求处于爆发期,我国大数据产业面临重要的发展机遇

  2. 2017年十九大报告明确 "推动互联网、大数据、人工智能和实体经济深度融合"

  3. 2020年全国政协十三届三次会议新闻发布会上,更进一步强调:大数据、人工智能、5G是引领 未来发展的战略性技术

    显然,发展大数据是我国的战略性决策,前景自然不言而喻

  4. 2017年北京大学、中国人民大学、北京邮电大学等25所高校成功申请开设大数据课程

  5. 大数据属于高新技术,大牛少,升职竞争小

  6. 2020年5月6日,人力资源和社会保障部发布《新职业—大数据工程技术人员就业景气现状分析报告》,报告显示:预计2020年中国大数据行业人才需求规模将达210万,2025年前大数据人才需求仍将保持30%~40%的增速,需求总量在2000万人左右

  7. 在北京大数据开发工程师的平均薪水已经超越 1.5w 直逼2w,而且目前还保持强劲的发展势头

1.4.4.2 大数据职业发展路线

​ 目前大数据高、中、低三个档次的人才都很缺。现在我们谈大数据,就像当年谈电商一样,未来前景已经很明确,接下来就是优胜劣汰,竞争上岗。不想当架构师的程序员不是好架构师!但是,大数据发展到现阶段,涉及大数据相关的职业岗位也越来越精细。

​ 从职业发展来看,由大数据开发、挖掘、算法、到架构。从级别来看,从工程师、高级工程师,再到架构师,甚至到科学家。而且,契合不同的行业领域,又有专属于这些行业的岗位衍生,如涉及金融领域的数据分析师等。大数据的相关工作岗位有很多,有数据分析师、数据挖掘工程师、大数据开发工程师、大数据产品经理、可视化工程师、爬虫工程师、大数据运营经理、大数据架构师、数据科学家等等。

​ 从事岗位:ETL工程师,数据仓库工程师,实时流处理工程师,用户画像工程师,数据挖掘,算法工程师,推荐系统工程。

有关1.1 大数据简介-hadoop-最全最完整的保姆级的java大数据学习资料的更多相关文章

  1. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  2. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  3. ruby - Ruby 有 `Pair` 数据类型吗? - 2

    有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳

  4. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  5. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

  6. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  7. ruby - 我如何添加二进制数据来遏制 POST - 2

    我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_

  8. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  9. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  10. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

随机推荐