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对存储格式没有要求.可以存储用户访问日志.产品信息以及网页数据等数据. 常见的两种数据来源.一种是分散的数 ...
随机推荐
- 网站循环加载监控-C#
背景: 公司有一个报表的网站,服务器或系统不太稳定,导致客户有时候查看报表网址的时候网站打不开或者打开时间过长,影响用户体验 需求: 通过程序循环打开网址了解加载情况,使用谷歌浏览器内核.,程序开发不 ...
- SQL Server 数据备份存储过程
原文:SQL Server 数据备份存储过程 今天开园,分享一下我一直在使用的数据备份存储过程,欢迎转载!!! ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- PAT B1018.锤子剪刀布(20)
一个没有通过,不知道为何 #include <cstdio> int change(char c) { if(c == 'B') return 0; if(c == 'C') return ...
- python-day7(正式学习)
目录 数字类型内置方法 整形内置方法(int) 常用操作+内置方法 是否可变 浮点型内置方法(float) 常用操作+内置方法 是否可变 字符串内置方法 常用操作+内置方法 是否可变 数字类型内置方法 ...
- spark内核篇-task数与并行度
每一个 spark job 根据 shuffle 划分 stage,每个 stage 形成一个或者多个 taskSet,了解了每个 stage 需要运行多少个 task,有助于我们优化 spark 运 ...
- CentOS 7安装Maven
echo "安装Java环境,先安装JDK" yum -y install java-openjdk echo "切换到/usr/local/src下载目录" ...
- cent0S 设置静态ip
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static # static ip,#BOOTPROTO=dhcp # dynamic ...
- A Pythonic Card Deck: __len__ & __getitem__ & for 循环的嵌套
1. 列表生成式的嵌套 for 循环: 示例如下: li1 = range(1,6) li2 = list("ABC") # list("ABC") 的结果为 ...
- nginx之健康检查
正常情况下,nginx做反向代理,如果后端节点服务器宕掉的话,nginx默认是不能把这台realserver踢出upstream负载集群的,所以还会有请求转发到后端的这台realserver上面,这样 ...
- 前端配置jenkins
tar命令详解:https://www.cnblogs.com/luck123/p/11401007.html