大数据知识集合(四)

【大数据】数据集合集! 大数据采集,抽取平台,zdh_web是zdh系列服务的可视化管理平台,包含数据采集,调度,权限,审批流,私域营销等模块,主要目的是实现高效的进行数据采集,构建自己的大数据平台,通过统一数据管理,对数据进行高效分析及对外输出,通过工具完成大部分工作,减少开发者的工作量,并且降低使用者标准,通过拖拉拽实现数据的采集(任务依赖关系由自带调度完成-优势)。服务器运维监控等功能,系统支持多维度统计,支持各种复杂的条件筛选和逻辑判断,一键部署,一行代码接入,轻松实现业务全链路数据监控,帮助企业快速搭建数据指标体系。 阅读详情

一、校验和

检验和,在数据处理和数据通信领域中,用于校验目的地一组数据项的和。它通常是以十六进制为数制表示的形式。如果校验和的数值超过十六进制的FF,也就是255. 就要求其补码作为校验和。通常用来在通信中,尤其是远距离通信中保证数据的完整性和准确性。

这些数据项可以是数字或在计算检验的过程中看作数字的其它字符串。校验和(checksum)是指传输位数的累加,当传输结束时,接收者可以根据这个数值判断是否接到了所有的数据。如果数值匹配,那么说明传送已经完成。TCP和UDP传输层都提供了一个校验和与验证总数是否匹配的服务功能。

二、文件结构

hadoop提供了一种顺序文件类型即SequnceFile,里面存放的其实是键值对数据类型,但这里的键值对都可用二进制数据来表示,因此SequenceFile对于处理二进制数据非常合适。


 SequenceFile同样也可以作为小文件的容器,即key保存文件名,value存储文件内容,这样可以把许多小文件合并到一个大文件中,尤其适合hadoop处理大文件。


 同样提供了MapFile,其实就是已经排序的SequenceFile,并且加入用于搜索键的索引。可以将MapFile视为java.util.Map的持久化形式。MapFile在保存到磁盘上后,会有两个文件,一个数据原数据文件,另一个是index索引文件。

1、SequnceFile

SequenceFile的存储类似于Log文件,所不同的是Log File的每条记录的是纯文本数据,而SequenceFile的每条记录是可序列化的字符数组。

SequenceFile可通过如下API来完成新记录的添加操作:

        fileWriter.append(key,value)

可以看到,每条记录以键值对的方式进行组织,但前提是Key和Value需具备序列化和反序列化的功能

Hadoop预定义了一些Key Class和Value Class,他们直接或间接实现了Writable接口,满足了该功能,包括:

Text                                等同于Java中的String
IntWritable                   等同于Java中的Int
BooleanWritable        等同于Java中的Boolean
        .
        .

在存储结构上,SequenceFile主要由一个Header后跟多条Record组成,如图所示:

Header主要包含了Key classname,Value classname,存储压缩算法,用户自定义元数据等信息,此外,还包含了一些同步标识,用于快速定位到记录的边界。

每条Record以键值对的方式进行存储,用来表示它的字符数组可依次解析成:记录的长度、Key的长度、Key值和Value值,并且Value值的结构取决于该记录是否被压缩。

数据压缩有利于节省磁盘空间和加快网络传输,SeqeunceFile支持两种格式的数据压缩,分别是:record compression和block compression。

record compression如上图所示,是对每条记录的value进行压缩

block compression是将一连串的record组织到一起,统一压缩成一个block,如图所示:

block信息主要存储了:块所包含的记录数、每条记录Key长度的集合、每条记录Key值的集合、每条记录Value长度的集合和每条记录Value值的集合

2、MapFile

MapFile是排序后的SequenceFile,通过观察其目录结构可以看到MapFile由两部分组成,分别是data和index。

index作为文件的数据索引,主要记录了每个Record的key值,以及该Record在文件中的偏移位置。在MapFile被访问的时候,索引文件会被加载到内存,通过索引映射关系可迅速定位到指定Record所在文件位置,因此,相对SequenceFile而言,MapFile的检索效率是高效的,缺点是会消耗一部分内存来存储index数据。

需注意的是,MapFile并不会把所有Record都记录到index中去,默认情况下每隔128条记录存储一个索引映射。当然,记录间隔可人为修改,通过MapFIle.Writer的setIndexInterval()方法,或修改io.map.index.interval属性;

另外,与SequenceFile不同的是,MapFile的KeyClass一定要实现WritableComparable接口,即Key值是可比较的。

三、Hadoop数据类型

  • BooleanWritable:标准布尔型数值
  • ByteWritable:单字节数值
  • DoubleWritable:双字节数值
  • FloatWritable:浮点数
  • IntWritable:整型数
  • LongWritable:长整型数
  • Text:使用UTF8格式存储的文本
  • NullWritable:当<key, value>中的key或value为空时使用

四、压缩和解压缩

我们可以把数据文件压缩后再存入HDFS,以节省存储空间。但是,在使用MapReduce处理压缩文件时,必须考虑压缩文件的可分割性。目前,Hadoop支持以下几种压缩格式

压缩格式UNIX工具算      法文件扩展名支持多文件可分割
DEFLATE无DEFLATE.deflateNoNo
gzipgzipDEFLATE.gzNoNo
zipzipDEFLATE.zipYESYES
bzipbzip2bzip2.bz2NoYES
LZOlzopLZO.lzoNoNo


为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器,如下表所示
压缩格式对应的编码/解码器
DEFLATEorg.apache.hadoop.io.compress.DefaultCodec
gziporg.apache.hadoop.io.compress.GzipCodec
bziporg.apache.hadoop.io.compress.BZipCodec
Snappyorg.apache.hadoop.io.compress.SnappyCodec
五、

大数据BigData总结笔记(一) 一 什么是大数据? 大数据(big data),IT行业术语,P级甚至是E级数据量! 是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合, 是需要新处理模式才能具有更强的决策力、洞察发现力和 流程优化能力的海量、高增长率和多样化的信息资产。 eg: 19g 的txt文件--打开失败:常规软件无法捕捉管理,处理.. 买枪案例:洞察发现力.. 啤酒和尿布案例:洞察发现力,流程优... 阅读详情

相关推荐

大数据基础知识集合

一、大数据的基本概念 大数据,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。简单说就是将大量的数据通过类比和分类,分为众多较小型数据,将各个小型数据集合并后进行分析便可得出许多额外的信息和数据关系性,以此用来察觉商业趋势、判定研究质量、避免疾病扩散、打击犯罪或测定即时交通路况等。 二、数据仓库 数据仓库,是一个面向主题的(Subject Oriented)、集成的

Hacker_Wind的博客 3052

Hacker-基础学习(1)

最近在看一本关于hacker的书,想将一些相关的知识点做个汇总和笔记,方便日后的查阅也方便现在的学习。因为看的都是web篇的实战,所以该系列学习会偏向web的内容,本章将从三个方面阐述1.攻防永远都是不对等的;2.核心防御方法;3.辅助攻击软件。 攻防永远都是不对等的 为什么说Web应用上的攻防不对等?其本质在于所有的程序都有漏洞,世界上不存在完美的程序...

weixin_34081595的博客 494

大数据入门知识总结

大数据入门知识总结 1、大数据处理流程 2、数据仓库 数据仓库面向分析,平时的Mysql数据库主要面向业务。 数据仓库是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建的,对多样的业务数据进行筛选与整合。它为企业提供一定的BI(商业智能)能力,指导业务流程改进,监视时间成本、质量以及控制。 数据仓库是专门用来进行数据分析的,它可以是Mysql、Oracle等数据库,但是在大数据中常用到的是Hive。 3、ETL ETL(Extract-Transform-Load):数据的抽取、数据

长不大的大灰狼 4945

Hacker成长日记:网络知识基础

这几天学的有点偏,我本人是学到DNS劫持,但是笔记的话我想还是更新一下。 进入正题 一、通信协议栈基础 OSI协议栈: 概念:- open system interconnet开放系统,灵活的、稳健的可互操作系统 目的:规范不同系统的互联标准,是两个不通系统易通信 OSI TCP/IP IPX/SPX SNA 局域网...

红队是青春 249

2019完整的大数据知识体系,大数据学习路线图

任何学习过程都需要一个科学合理的学习路线,才能够有条不紊的完成我们的学习目标。大数据所需学习的内容纷繁复杂,难度较大,有一个合理的大数据学习路线图帮忙理清思路就显得尤为必要。 在这里还是要推荐下我自己建的大数据学习交流群:199427210,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新...

juan189的博客 3825

吐血整理出来的大数据知识点,你掌握多少?

文章目录写在前面正片语言工具类Java实现线程的两种方式集合List集合ArrayListLinkedListSet集合HashSet二叉查找树TreeSetLinkedHashsetMap集合TreeMapHashTableJVM方法区:(被加载的信息,常量,静态变量编译后的代码等数据)虚拟机栈:(java方法服务,储存局部变量方法出口等)本地方法栈堆(对象实例创建,垃圾回收操作)程序计数器Java自带哪几种线程池?(4)HashMap和HashTable区别TreeSet和HashSet区别String

啊晨 2936

大数据的75个名词解释

近日,Ramesh Dontha 在 DataConomy 上连发两篇文章,扼要而全面地介绍了关于大数据的 75 个核心术语,这不仅是大数据初学者很好的入门资料,对于高阶从业人员也可以起到查漏补缺的作用。本文分为上篇(25 个术语)和下篇(50 个术语)。机器之心对文章进行了编译。 上篇(25 个术语) 如果你刚接触大数据,你可能会觉得这个领域很难以理解,无从下手。不过,你可以从下面这份包含了 ...

TRX的博客 4862

大数据学习指南从入门到精通

利用框架的力量,看懂游戏规则,才是入行的前提大多数人不懂,不会,不做,才是你的机会,你得行动,不能畏首畏尾选择才是拉差距关键,风向,比你流的汗水重要一万倍,逆风划船要累死人的为什么选择学习大数据开发,不选择Java开发?借棋弈做比喻,智商高的不要选择五子琪,要选择围棋,它能长久地吸引你。不都是在棋盘上一颗黑子一颗白子地下吗?因为围棋更复杂,能够掌握如此复杂的技艺、产生稳定输出的棋手、让我们更佩服。选择学习大数据开发也如此,能让你的职业生涯走得更远,少走弯路。

Lansonli(蓝深李)的博客 2万+

视频教程资源awesome-bigdata:大数据实战教学视频集合

想要快速掌握大数据技术?awesome-bigdata项目为你精心整理了最全面的大数据实战教学视频资源!这个开源项目汇集了从数据处理到机器学习,从流式计算到数据可视化的完整学习路径,无论你是初学者还是想要进阶的开发者,都能在这里找到适合自己的学习资料。🚀 ## 大数据视频教程精选 **Spark实战教学视频** - 学习如何使用Spark进行批处理和流式数据分析,从基础概念到高级应用一应俱全

gitblog_01230的博客 1031

【Matlab/Unity】跨平台UDP通信实战:从数据发送到实时可视化

本文详细介绍了Matlab与Unity之间通过UDP协议实现跨平台通信的实战方法,涵盖数据发送、接收和实时可视化全流程。针对科研仿真和工业设计场景,提供优化代码示例和性能对比数据,帮助开发者解决低延迟传输、线程安全等关键问题,显著提升跨平台协作效率。

weixin_29044713的博客 151

浅析MOS管导通过程及RC吸收电路设计要点

RC吸收电路 米勒电容 MOS导通过程

liangbo1999的博客 2万+

如何快速掌握大数据技术:awesome-bigdata知识分享终极指南

大数据技术正在改变我们的世界,但面对如此多的框架和工具,新手往往感到无从下手。😅 今天我要为大家介绍一个宝藏项目——**awesome-bigdata**,这是一个精心策划的大数据框架、资源和其他优秀项目的集合,帮助你在大数据领域快速成长! ## 📊 什么是awesome-bigdata? awesome-bigdata是一个全面的大数据技术资源库,包含了从分布式编程到数据可视化的各种工具

gitblog_00046的博客 1137

STM32F103C8T6驱动DM542步进电机:从CubeMX配置到按键控制的全流程避坑指南

本文详细介绍了如何使用STM32F103C8T6通过CubeMX配置驱动DM542步进电机的全流程,包括PWM频率计算、GPIO模式选择及按键控制实现。重点解决了常见硬件连接错误、PWM参数配置及加减速算法优化,帮助开发者快速搭建稳定的电机控制系统。

weixin_42741930的博客 307

如何快速构建大数据知识库:awesome-bigdata终极指南与团队知识管理秘籍

在当今数据驱动的时代,掌握大数据技术已成为企业和开发者的核心竞争力。awesome-bigdata是一个精心整理的大数据框架、资源和工具集合,为团队知识管理与分享提供了完整的解决方案。这个开源项目汇集了从分布式编程到机器学习,从数据库系统到数据可视化的全方位大数据技术栈,帮助团队快速构建专业的大数据知识体系。 ## 📊 为什么需要大数据知识库建设? 随着大数据技术的快速发展,各种框架和工具层

gitblog_00491的博客 591

COMSOL电磁仿真案例——感应线圈

COMSOL电磁建模仿真案例——感应线圈

冲击10w 6万+

基因家族的鉴定-基于Windows系统上的HMMER

基因家族的鉴定-基于Windows系统上的HMMER。

liangjinghui123的博客 3243

大数据bigdata

前言: 大数据就是互联网发展到现今阶段的一种表象或特征而已,没有必要神话它或对它保持敬畏之心,在以云计算为代表的技术创新大幕的衬托下,这些原本看起来很难收集和使用的数据开始容易被利用起来了,通过各行各业的不断创新,大数据会逐步为人类创造更多的价值。 定义:是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 提出时间:2008年8月中旬 大数据的5V特点(IBM提出): Volume(大量)

这里是菠萝味菠萝啤的博客 2287

软件测试高频面试题 2026 最新整理(功能 + 自动化)

本文系统整理了2026年软件测试面试高频题目及参考答案,涵盖功能测试、自动化测试及新兴热点领域。功能测试部分包含测试基础概念、用例设计方法、缺陷管理流程等10个必背题;自动化测试部分详细解析工具选择、元素定位、框架搭建等10个热门考点;新增章节聚焦AI测试、安全测试、性能指标等5个前沿话题。参考答案均采用结构化表述,包含定义、区别、适用场景等关键要素,并强调结合项目经验作答。文末提供2026版面试技巧,建议采用"结论-分点-总结"的回答逻辑,重点展现问题解决能力和技术前瞻性。

SmallBull的博客 1962

大数据 BigData

集群系统是一个互相通过网络连接起来的计算机(节点)所构成的分布式系统,集群中的每一个节点都具有独立的存储系统,和共享存储系统相比集群是一种松耦合的系统。集群系统现在是实现高性能计算主要方法,集群系统不只是计算的聚集也是存储的聚集。这里所指的分布式系统包括分布式计算和分布式存储。

BlueProtocolBlog 1731

基于STM32的浴室环境智能控制系统设计

摘要:本文设计了一款基于STM32F103的智能卫浴系统,通过多传感器协同检测浴室环境参数。系统采用DS18B20检测环境与卫浴温度,DHT11监测湿度,MQ-135检测空气质量,光敏电阻测量光照强度,D203S人体热释电模块检测人员存在。当检测到异常参数时,系统自动启动相应调节功能:温度异常时控制加热/制冷继电器,湿度过高时启动通风除湿,空气质量差时进行换气,光照不足且有人时自动开灯。系统支持按键、蓝牙APP和语音三种控制方式,可手动设置参数阈值、切换防雾模式、控制音乐播放等功能。实验结果表明,该系统能有

3254968421的博客 483

【AI编程】Qoder AI 编程工具从部署到深度使用实战详解

Qoder AI 编程工具从部署到深度使用实战详解

congge 8337

大数据基础知识

大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。灵活的可扩展性灵活的数据模型与云计算紧密融合现在已经有很多公司使用了NoSQL数据库:GoogleFacebookMozillaAdobeFoursquareLinkedInDigg百度、腾讯、阿里、新浪、华为……Spark的特点运行速度快:使用DAG执行引擎以支持循环数据流与内存计算容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程。

星球奋斗者 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

如何使用 Awesome-BigData 开源项目

如何使用 Awesome-BigData 开源项目 【免费下载链接】awesome-bigdata 项目地址: https://gitcode.com/gh_mirrors/awes/awesome-bigdata ...

gitblog_01093的博客 923

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Awesome BigData 使用指南

Awesome BigData 使用指南 【免费下载链接】awesome-bigdata Awesome BigData 是一个收集大数据相关资源的项目,包括数据处理、数据存储、机器学习、数据可视化等领域的知名项目、论文、书籍等。* 收集整理大数据相关资源;提供学习和参考。* 特点:资源全面;分类清晰;易于查找。 ...

gitblog_01073的博客 1014

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

23篇大数据系列(一)java基础知识全集(2万字干货,建议收藏)

大数据时代已经到来 最近几十年,高速发展的互联网,渗透进了我们生活的方方面面,整个人类社会都已经被互联网连接为一体。身处互联网之中,我们无时无刻不在产生大量数据,如浏览商品的记录、成交订单记录、观看视频的数据、浏览过的网页、搜索过的关键词、点击过的广告、朋友圈的自拍和状态等。这些数据,既是我们行为留下的痕迹,同时也是描述我们自身最佳的证据。2014年3月,马云曾经在北京的一次演讲中说道:“人类正从IT时代走向DT时代”。5年过去了,正如马云预想的那样,大数据时代已经到来了。 ...

独木不成林,单弦不成音。 1万+

我理解的大数据(BigData)

前言 在我的理解中大数据就是建立在两个基础之上 一个是庞大的数据库用来做数据的精准分析 另外一个无疑就是建立在数据之上的算法层了 大数据不需要过于严谨,也不能过于宽松 过于严谨会导致信息缺失,造成数据遗漏 过于宽松会导致数据精度不达标,造成产品体验差 什么是大数据 大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 百度百科给出的介绍是这样

qq_44894205的博客 963
上一篇: 大数据基础知识集合(三)
下一篇: MapReduce工作原理及流程
Yolo_Fs
博客等级 码龄9年 41粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值