0基础学大数据开发(程序员一定要知道的)

欢迎大家来到华妹碎碎念栏目!每周五固定更新,你将收获众多行业小知识,希望对你有帮助哦~

0基础学大数据开发(程序员一定要知道的)(1)

嵌入式和人工智能息息相关,大数据又是人工智能的养料来源,没有大数据,机器就无法学习;机器不学习就无法实现智能。大数据跟人工智能是非常密切的。每个行业都会产生一些行业大数据,而这些行业大数据就会催生一些人工智能,应用在这个行业里面。

0基础学大数据开发(程序员一定要知道的)(2)

每个公司是不一样的,譬如说阿里巴巴可以用人工智能识别假货。是如何识别的呢?通过分析交易过程当中的各种数据,最后得出是假货的结论;今日头条可以运用人工智能分析每个人平时看哪一类的信息,然后推送相关的信息。不同的公司对人工智能的运用也不相同,在每个行业的表现是不一样的,每个行业的大数据会催生不同行业的人工智能技术。

所以对程序员来说,仅仅知道或听过大数据是不够的,至少要知晓其中大概的原理,并且对常见的大数据组件有一定的认识。

今天这篇文章华妹就给大家分享一下大数据的用途,大数据的核心处理过程,以及常见组件的用处。

大数据能做什么

大数据涉及的领域很多:

0基础学大数据开发(程序员一定要知道的)(3)

汽车领域的自动驾驶;医疗领域的病情识别;金融领域的风控、量化交易;教育领域的 AI 教育,智能识题;推荐系统;疫情筛查等等,可以说,大数据就是宝藏。

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。

点击这里找小助理0元领取:点击文中蓝色字体即可领取

0基础学大数据开发(程序员一定要知道的)(4)

0基础学大数据开发(程序员一定要知道的)(5)

大数据计算原理

大数据计算的核心,其实就是利用技术组合起很多便宜的服务器来并行处理大量的数据,实现大数据的分析和计算。

0基础学大数据开发(程序员一定要知道的)(6)

一般我们谈到大数据,关于技术向都离不开 Hadoop 体系及其衍生的工具,Hadoop 体系其核心就是 HDFS 和 MapReduce。

1、HDFS

计算需要涉及大量的数据可能都是 PB 级别的,普通单机的磁盘无法存储那么多数据,因此就需要分布式文件存储,组合起众多廉价的服务器,让每个服务器存储部分数据,对外展示看起来却是一个文件,这就是分布式文件存储。

2、MapReduce

MapReduce 的原理其实非常简单,它包含两个过程:map reduce

只需定义 map 和 reduce 的处理逻辑,然后提交给 hadoop 系统,然后 map 和 reduce 的计算逻辑就会分发到我们部署的各个计算节点上。

每个被分配到的计算节点上就会运行 map 和 reduce 的代码逻辑来处理数据,并且每个机器处理的也只是部分数据。

比如这个 map 程序分配了 5 台机器,一同要处理 1 亿条数据,很可能机器 A 就处理前 2 千万条数据,机器 B 处理 2 千万到 4 千万的数据,依次类推。

然后 reduce 也有 5 台,分别统计不同 map 机器的输入。

这样算力就平摊到多台机器上并行执行,效率就快了,时间就缩短了。

如果计算的数据量大,也可以通过更多的机器来减少计算时间。

大数据相关组件

了解了大体的核心技术后,我们再来看看相关的组件。

0基础学大数据开发(程序员一定要知道的)(7)

1、Hbase

一个列式存储的 NoSQL 数据库,底层利用 HDFS 存储。

在存储数据量大的情况下也不会影响读取写入的效率,由于列式存储,没有固定的表结构,可以动态增加列,非常灵活。

2、Hive

前面我们提到 MapReduce,要用上这个计算框架是要写代码的,这对于一些运营或产品来说成本就有点高。

于是就出了个 Hive,支持类 SQL 语句,不需要显示编写 map 和 reduce 的代码,仅仅写个 SQL, Hive 就可以把这个 SQL 转成对应的 MapReduce 代码,然后执行返回结果,降低了使用成本,是个好东西。

3、Spark

MapReduce 虽然好用,但是因为它使用磁盘作为存储介质保存中间结果,且阶段性的计算每执行一次 Map 和 Reduce 计算都需要重新启动一次作业,在很多需要迭代计算的作业中,就非常的不方便。

因此用Spark 的并行计算框架来替换,它的目标就是低延迟,使用内存来保存中间结果。

4、Flume

还有一个数据来源就是日志,有很多数据都会通过日志保存在服务器的磁盘上,而 Flume 就是一个日志采集工具,负责日志的采集,然后输入到不同的数据源中。

最 后

关于大数据体系的一些基础知识,了解到这个地步也就差不多了。

大家可以结合下面的图再来结合上面的介绍理解一下。

0基础学大数据开发(程序员一定要知道的)(8)

原文链接:https://mp.weixin.qq.com/s/aE85AzE2vgn5PZB0jDf-qg

转载自:华清远见

原文链接:程序员一定要知道的“大数据”基础知识

本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页