Hadoop-No.13之数据源系统以及数据结构
文件系统中采集数据时,应该考虑以下内容.
数据源系统设备的读取速率
在所有处理流水线中,磁盘I/O通常都是主要瓶颈.但是优化采集流程时通常要看一下检索数据的系统系统.一般来说,Hadoop的读取速度在20MB/s到100MB/s之间,而且主板或者控制器从系统所有的磁盘中读取时有一定的限制.为了读取速度达到最高,需要确保尽量充分利用系统中的磁盘.某些网络附加存储(Network Attached Storage, NAS)系统会通过额外增加挂载点来加大吞吐量.同样要注意的是,一个单一的读取线程不会提升驱动器或者设备的读取速度.
原始文件格式
数据可以为任何一种格式:带分隔符文本,XML,JSON,Avro,定长文件,变长文件,Copybook,等等.Hadoop能接受任意一种文件格式,但是并不是所有格式都适合特定的使用案例.举个例子,CSV文件.这是一种非常常见的格式,而且这种格式的文件通常很容易导入一张Hive表,进而可以立即访问和处理数据.但是,很多进行CSV文件底层存储格式转换的任务能够(通过格式转换)提供更优化的数据处理.比如,使用Parquet作为存储格式进行数据分析可以提供更有效的处理,同时也能减小文件的存储空间.
另外需要考虑的是,Hadoop生态系统中的这些工具并不能支持所有的文件格式,比如变长文件.某些平面文件(flat file)的猎术是固定的.变长文件与之类似.定长文件和变长文件的差异在于,后者最左侧的一列决定后续文件的读取的规则.比如,最开始的两列是8字节的ID,随后是一个3字节的类型字段.ID只是一个全局标识符,读取数据的方式与定长文件相似.但是,类型字段设定了该记录其余内容的读取规则.如果类型字段的值为car,那么记录可能包含最大速度,里程,颜色之类的列.如果值为pet,那么记录中的列可能为大小,品种,等等.不同的列长度不同,因此称作“可变长度”.
压缩格式
在原始文件系统对数据进行压缩的做法有优点也有缺点.优点在于,通过网络传输压缩文件较为节省I/O和网络带宽.缺点在于大多数适用于Hadoop之外的压缩编码器都不支持分片(如Gzip).不过,在Hadoop中使用可分片的容器格式,可以使这些编码支持分片.
关系型数据库管理系统
Hadoop应用通常都会整合来自不同的RDBMS厂商(如Oracle,Netezza,Greenplum,Microsoft等)的数据.这里经常选择的工具是Apache Sqoop.Sqoop功能丰富支持许多选项.相比Haadoop生态系统中其他喜丧木,Sqoop使用起来更为简单便捷.这些选项能控制从RDBMS中检索那些数据.怎样检索数据.使用哪一个连接器.使用多少个Map任务,采用怎样的分片模式,以及最终的文件格式
流式数据
流输入数据包括Twitter订阅,Java消息服务(Java Message Service, JMS)队列.以及网络应用服务器发送的事件. 在这种情况下.强烈推荐使用Flume或Kafka.这两个系统都能提供同样水平的保证,而且功能相似.
日志文件
文件系统与流输入之间的部分为日志.反模式指写入日志时从磁盘中读取日志.因为完成实施缺不丢失数据时不可能的.采集日志的正确方法是直接将日志输入到工具中,如Flume或Kafka.而不是直接输入Hadoop
Hadoop-No.13之数据源系统以及数据结构的更多相关文章
- RDIFramework.NET ━ 9.13 系统日志与系统异常管理 ━ Web部分
RDIFramework.NET ━ .NET快速信息化系统开发框架 9.13 系统日志与系统异常管理 -Web部分 一个软件在投入运行时不可能没有任何异常,在软件发生异常时及时的记录下来,也好我 ...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
说明: 操作系统:CentOS 6.2 32位 系统安装教程:CentOS 6.2安装(超级详细图解教程): http://www.osyunwei.com/archives/1537.html 准备 ...
- 基于Hadoop开发网络云盘系统客户端界面设计初稿
基于Hadoop开发网络云盘系统客户端界面设计初稿 前言: 本文是<基于Hadoop开发网络云盘系统架构设计方案>的第二篇,针对界面原型原本考虑有两个方案:1.类windows模式,文件夹 ...
- 基于Hadoop开发网络云盘系统架构设计方案
基于Hadoop开发网络云盘系统架构设计方案第一稿 引言 云计算技术的发展,各种网络云盘技术如雨后春笋,层出不穷,百度.新浪.网易都推出了自己的云盘系统,本文基于开源框架Hadoop设计实现了一套自己 ...
- 升级MAC OS到10.13, 10.14系统后UNITY工程无法加载资源的解决办法
升级MAC OS到10.13, 10.14系统后,出现UNITY工程无法加载资源的情况: Unity项目中Asset目录显示为空! 解决办法一: 打开Launchpad中的磁盘工具 (也就是实用工具下 ...
- Hadoop Web项目--Friend Find系统
项目使用软件:Myeclipse10.0,JDK1.7,Hadoop2.6,MySQL5.6.EasyUI1.3.6.jQuery2.0,Spring4.1.3. Hibernate4.3.1,str ...
- 多数据源系统接入mybatis-plus, 实现动态数据源、动态事务。
目录: 实现思想 导入依赖.配置说明 代码实现 问题总结 一.实现思想 接手一个旧系统,SpringBoot 使用的是纯粹的 mybatis ,既没有使用规范的代码生成器,也没有使用 JPA 或者 m ...
- 大数据分析系统Hadoop的13个开源工具
Hadoop是由Apache基金会开发的一个大数据分布式系统基础架构,最早版本是2003年原Yahoo!DougCutting根据Google发布的学术论文研究而来. 用户可以在不了解分布式底层细节的 ...
- Hadoop数据收集与入库系统Flume与Sqoop
Hadoop提供了一个中央化的存储系统,其有利于进行集中式的数据分析与数据共享. Hadoop对存储格式没有要求.可以存储用户访问日志.产品信息以及网页数据等数据. 常见的两种数据来源.一种是分散的数 ...
随机推荐
- 洛谷 P4198 楼房重建 题解
题面 首先你要知道题问的是什么:使用一种数据结构,动态地维护以1为起点地最长上升子序列(把楼房的高度转化成斜率地序列)的长度: 怎么做?线段树! 我们在线段树上维护两个东西:1.这个区间内斜率的最大值 ...
- Linux就该这么学——新手必须掌握的命令之文件目录管理命令组
touch命令 用途 : 用于创建空白文件或设置文件的时间 格式 : touch [选项] [文件] 参数 作用 -a 仅修改”读取时间”(atime) -m 仅修改”修改时间”(mtime) -d ...
- 从入门到自闭之Python--虚拟环境如何安装
Windows下创建虚拟环境virtualenv 如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的版 ...
- MHA原理及搭建
MYSQL5.7下搭建MHA 环境说明 在主机1,主机2,主机3上安装MySQL服务端和客户端. 主机1 主机2 主机3 操作系统 CentOS7.4 CentOS7.4 CentOS7.4 主机名 ...
- ale.js 对比其他框架
欢迎!我们相信你来这里的目的就是为了解 Ale 与其他大型框架的区别,这也正是我们想要在此回答的. 客观来说,作为 Ale 的核心开发者,我们肯定会更偏爱 Ale,认为对于某些问题来讲用 Ale 解决 ...
- Codeforces 1238F. The Maximum Subtree
传送门 考虑构造一些区间使得树尽可能的 "大" 发现这棵树最多就是一条链加上链上出去的其他边连接的点 构造的区间大概长这样(图比较丑请谅解..$qwq$,图中每一个 "└ ...
- vs 2017创建类时的默认模板修改
思路:找到vs 2017安装目录---->找到模板文件---->修改 一般安装目录: C:\Program Files (x86)\Microsoft Visual Studio\2017 ...
- Linux服务器不关机新增硬盘的方法
在开机状态下,插入磁盘之后,执行如下命令: ls /sys/class/scsi_host/host0 host1 host2 echo "- - -" > /sys/cla ...
- 转:git常用操作
转自:https://www.cnblogs.com/donghaojun/p/10906981.html 开发常用git指令:git init # 初始化本地git环境 git clone xxx ...
- Java高并发程序设计学习笔记(五):JDK并发包(各种同步控制工具的使用、并发容器及典型源码分析(Hashmap等))
转自:https://blog.csdn.net/dataiyangu/article/details/86491786#2__696 1. 各种同步控制工具的使用1.1. ReentrantLock ...