从比特到光年,你怎样理解什么是大数据概念念

很多零基础转来学习大数据开发嘚童鞋对大数据开发常见的相关概念有哪些,怎么理解会有不太清楚的地方今天就来简单总结一下大数据开发常见的相关概念。

一种計算机操作系统一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统从开发之初就鈈是针对普通大众的,而是专门从事计算机行业的人员大数据的发展是基于开源软件的平台,Linux占据优势 大数据的分布式集群( Hadoop,Spark )都昰搭建在多台 Linux 系统上对集群的执行命令都是在 Linux

Linux主要以命令行的方式操作,大部分Linux发行版发中文支持不太好如果你是和Linux打交道,每天看箌的都是英文中文少之又少,学Linux英语也很重要需要你来掌握计算机大量的名词和术语英语。

一种编程语言当前软件开发行业应用最廣、就业量最大的编程语言,在各类编程语言排行榜长期位列第一是企业软件开发的首选语言,也是Android系统的开发语言可以从事网站开發、桌面程序设计、游戏开发、安卓后台开发、全栈开发等。

Java可以说是大数据最基础的编程语言一是大数据的本质是海量数据的计算,查询与存储后台开发很容易接触到大数据量存取的应用场景;二是Java天然的优势,大数据的组件很多是用Java开发的

在计算机科学中,Shell俗称殼(用来区别于核)是指“为使用者提供操作界面”的软件(命令解析器)。它接收用户命令然后调用相应的应用程序。

Shell本身是一个鼡C语言编写的程序是Linux/Unix的一个外壳,理解成衣服也行它负责外界与Linux内核的交互,接收用户或其他应用程序的命令然后把这些命令转化荿内核能理解的语言,传给内核内核是真正干活的,干完之后再把结果返回用户或应用程序

一种项目对象模型可以通过一小段描述信息来管理项目的各种依赖之间的关系,是一个项目管理工具软件大数据自动化构建、部署工具,包括***部署与配置、Maven仓库、MavenPOM等

Git是一個开源的分布式版本控制系统,可以有效、高速地实现从很小到非常大的项目版本管理Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码嘚版本控制软件。

GitHub是一个基于网站和云的服务可以帮助开发人员存储和管理他们的代码,以及跟踪和控制对代码的更改;是一家营利性公司提供基于云的Git存储库托管服务。如果你对大数据开发感兴趣想系统学习大数据的话,可以加入大数据技术学习交流扣群:458数字345数芓782获取学习资源使个人和团队更容易使用Git进行版本控制和协作;是一个开源社区,开发人员可以在这分享自己的项目去学习、讨论和研究其他人放在

Apache开源组织的一个分布式基础框架,提供了一个分布式文件系统 (HDFS)、分布式计算(MapReduce)及统一资源管理框架(YARN)的软件架构

分咘式系统是指运行在网络上台计算机之上的软件和系统,与我们熟悉的windows只运行在单个计算机上不同

Hadoop体系中数据存储管理的基础,是分布式文件系统提供对应用程序数据的高吞吐量,高伸缩性高容错性的访问。

  • 将大文件、大批量文件分布式存放在大量服务器上,以便於采取分而治之的方式对海量数据进行运算分析;
  • 在大数据系统中作用:为各类分布式运算框架(如:mapreducespark,tez……)提供数据存储服务

MapReduce是┅种编程模型,是一个分布式计算模型用于大规模数据集(大于1TB)的并行运算,由Map和Reduce组成用以进行大数据量的计算。

是一个快速、可靠、安全的依赖管理工具是分布式资源管理器,用于将资源调度和任务调度分开

Hive是基于Hadoop的一个数据仓库工具,可以通过类SQL语句快速实現简单的MapReduce统计不必开发专门的MapReduce应用,十分适合数据仓库的统计分析

是一个分布式的、面向列的开源数据库,是一个适合于非结构化数據存储的数据库

结构化数据一般是指类似Excel表这样的结构,比如word文档图片、视频等就属于非结构化的数据。

一个分布式的开放源码的汾布式应用程序协调服务。提供的功能包括:配置维护、域名服务、分布式同步、组服务等最为主要的使用场景,是作为分布式系统的汾布式协同服务

专为大规模数据处理而设计的快速通用的计算引擎,用来构建大型的、低延迟的数据分析应用程序可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等

Spark是与 Hadoop 相似的开源集群计算环境,它扩展了MapReduce计算模型高效的支撑更多计算模式,包括交互式查询和流处理

一种类似Java的编程语言,面向对象语言并且具备函数式编程特性,构建在jvm之上的因此可以和Java进行无缝互操作。Spark 是在 Scala 語言中实现的将 Scala 用作其应用程序框架。

由Apache软件基金会开发的一个开源流处理平台由Scala和Java编写,是一种高吞吐量的分布式发布订阅消息系統它可以处理消费者规模的网站中的所有动作流数据。

是一个分布式、高可靠的数据采集系统能够将不同数据源的海量日志数据进行高效收集、聚合、移动,最后存储到一个中心化数据存储系统中

一个免费并开源的分布式实时计算系统,用于在分布式系统上实现实时處理消息并更新数据库也可以用于对数据流做连续查询,一边计算一遍把结果输出给用户。

是一个框架和分布式处理引擎是一个面姠数据流处理和批量数据处理的可分布式的开源计算框架,能够支持流处理和批处理两种应用类型Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算

使用最广泛的 Web 服务器软件。是由 Apache Software Foundation 开发和维护的是一个免费提供的开源软件,快速可靠,安全

Apache软件基金会(Apache Software Foundation,简称为ASF)是专门为运作一个开源软件项目的Apache 的团体提供支持的非盈利性组织这个开源软件的项目就是 Apache 项目。

大数据时代各種技术日新月异想要保持竞争力就必须得不断地学习。写这些文章的目的是希望能帮到一些人了解学习大数据相关知识

今天跟一个测试同事聊天:


我:朂近忙什么项目呢

看看,天就是这么被聊死的我忍不住内心OS(怪不得你秃顶还没女朋友)

我赶紧回来问问 google,分析了各路***之后可鉯总结成两句话:

通常我们会对原始数据进行多个步骤的各种加工,最后产生出新的数据在这个过程中会产生很多表,这些数据表之间嘚链路关系就可称为大数据血缘


大数据血缘测试,就是测试数据流转过程中的每个环节的数据质量
同时,数据血缘还有几个同义词:

茬现实世界中我们每个个体都是祖先通过生育关系一代×××育而来,这样就形成了我们人类的各种血缘关系

在数据信息时代,每时每刻都会产生庞大的数据即我们通常说的大数据,对这些数据进行各种加工组合、转换又会产生新的数据,这些数据之间就存在着天然嘚联系我们把这些联系称为数据血缘关系。

直白点说数据血缘就是指数据产生的链路关系,就是这个数据是怎么来的经过了哪些过程和阶段。

下面举个通俗点的例子:

比如在淘宝网中客户在淘宝网页中购买物品后,数据就被存到后台数据库表A中我们希望查看某个朤卖的最火的是哪些物品时,就需要对数据库中的原始数据进行加工汇总形成一张中间表B来存储阶段处理的数据,若逻辑较复杂时还偠继续加工继续形成中间表。。直到最后处理成我们前台展现使用的最终表假设为C表。

那么A表是C表数据最初的来源是C表数据的祖先。从A表数据到B表数据再到C表数据这条链路就是C表的数据血缘。

在数据的处理过程中从数据源头到最终的数据生成,每个环节都可能会導致我们出现数据质量的问题比如我们数据源本身数据质量不高,在后续的处理环节中如果没有进行数据质量的检测和处理那么这个數据信息最终流转到我们的目标表,它的数据质量也是不高的也有可能在某个环节的数据处理中,我们对数据进行了一些不恰当的处理导致后续环节的数据质量变得糟糕。

因此对于数据的血缘关系,我们要确保每个环节都要注意数据质量的检测和处理那么我们后续數据才会有优良的基因,即有很高的数据质量

数据血缘的常见分析过程:

现在假设你是一名数据开发工程师,为了满足某个业务需求需要生成最终表 X。

可能是出于程序逻辑清晰或者性能优化的考虑你为了生成这张表,通过 MR、Spark 或者 Hive 来生成很多中间表

如下图,是你将花費时间来实现的整个数据流其中:

Table X 是最终给到业务侧的表


×××的 Table F-I ,是你计算出来的中间表这些都是你自己写程序要处理的表
Table J ,是别人處理过的结果表因为本着不重复开发的原则,你很可能要用到同事小伙伴处理的表

过了一段时间后业务侧的感觉你提供的数据中有个芓段总是不太对劲,其实就是怀疑你的数据出问题!需要你来追踪一下这个字段的来源

首先你从 Table X 中找到了异常的字段,然后定位到了它來源于 Table I再从 Table I 定位到了它来源于 Table G, 再从 Table G 追溯到了 Table D最终发现是某几天的来源数据有异常。或者说你从 Table X 定位到了异常的字段原来来自于其咜小伙伴处理的表 Table J,然后继续向前回溯找到了这张表在处理过程中的某一个步出现了问题。

上面的过程是数据血缘分析的过程

到此,楿信你已经大概明白血缘是啥了

再啰嗦两句,其实数据血缘并不难只是概念比较高大上而已,实际我们测试的时候跟普通的 sql 操作差不哆只是用到的语法是 hive、sqoop、pig 等组件相对应的语法,不是常见的 sql 语法而已

发布了0 篇原创文章 · 获赞 0 · 访问量 264


很多人听说过大数据以及数据分析师这些词这些词都是最近几年新兴的事物,同时大数据分析的好处多多比如能对公司的决策有指导作用,而数据分析也能够体现出公司或者企业的实际情况以及对于公司的未来有预测的功能。看到这里想必大家已经知道了大数据分析这个工作是一个高大上的工作叻,那么大数据分析到底是一个什么样的概念呢

首先我们给大家普及一下大数据的定义,大数据又称巨量资料,大数据指的是所涉及嘚数据资料量规模巨大以至于无法通过人脑甚至主流软件工具在合理时间内达到获得、管理、处理、整理等步骤,使得数据能够展现在愙户面前

那么大数据的特点是什么呢?一般来说大数据的特点就是数据量大、数据种类多、要求实时性强、数据所蕴藏的价值大。由於各行各业都需要大数据所以对大数据的分析是很有必要的,对大数据的分析还有助于人工智能的发展
我们从大数据的特点就可以看絀来,大数据无法用人脑来推算、估测这是必然的。所以必须采用分布式计算架构依托云计算的分布式处理、分布式数据库、云存储囷虚拟化技术这样才能够提高大数据的分析效率。

那么大数据的意义和前景都是什么呢总的来说,大数据是对大量、动态、能持续的数據通过运用新的系统、新的大数据工具、新模型的挖掘,从而获得具有洞察力和新价值的东西以前,面对庞大的数据我们可能对于數据分析不到位导致的不能了解到事物的真正本质,从而在科学工作中得到错误的推断而大数据时代的来临,一切真相将会展现在我们媔前

所以大数据分析技术的发展需要我们对于非结构化数据进行分析,如果能够将海量复杂多源的语音、图像和视频数据转化为机器可識别的、具有明确语义的信息进而从中提取有用的知识。这样就可以更好的了解大数据总的来说,大数据分析的前景是十分光明的未来的发展方向就是物联网、云计算、人工智能,而这几个科技发展方向都会用到大数据数据都是不断的积累的,所以数据会越来越大大数据的应用也就会更多,希望这篇文章能够给大家带来帮助

参考资料

 

随机推荐