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对存储格式没有要求.可以存储用户访问日志.产品信息以及网页数据等数据. 常见的两种数据来源.一种是分散的数 ...
随机推荐
- P1494 小Z的袜子 【普通莫队】
我的第二道莫队题,对莫队又有了自己的看法. 在第一题的基础上之上,觉得莫队有个很关键的地方在于 莫队所维护的值是什么,怎么推出维护的公式来. 这道题就是这样,一开始还没自己推出公式来,也有几个坑点. ...
- Java-Redis 热部署问题
项目请求时报错: java.lang.ClassCastException: cn.xingaohbd.seckil.model.User cannot be cast to cn.xingaohbd ...
- (5.3.2)数据库迁移——SSIS包批量导出
SSIS连接出错 原因 : ssms 工具 不是 admin 权限 打开的 SSIS包批量导出代码 use msdb go IF OBJECT_ID('msdb.dbo.usp_ExportS ...
- 2019年5月份最热门的JavaScript开源项目
五一假期后工作的第一天,不知道你们调整好状态没有呢? 1-libpku https://github.com/lib-pku/libpku Star 15820 该项目是由一名北大在读大学生整 ...
- SpringBoot集成MybatisPlus报错
SpringBoot集成MybatisPlus报错 启动的时候总是报如下错误: java.lang.annotation.AnnotationFormatError: Invalid default: ...
- Elastic Search中mapping的问题
Mapping在ES中是非常重要的一个概念.决定了一个index中的field使用什么数据格式存储,使用什么分词器解析,是否有子字段,是否需要copy to其他字段等.Mapping决定了index中 ...
- 【动态规划】subsequence 1
题目链接:https://ac.nowcoder.com/acm/contest/885/G 题意: 两个串,s t,求s的所有子串中大于 t 的数目 题解: dp[i][j] 表示 s的前i个, ...
- kubernetes dashboard访问用户添加权限控制
前面我们在kubernetes dashboard 升级之路一文中成功的将Dashboard升级到最新版本了,增加了身份认证功能,之前为了方便增加了一个admin用户,然后授予了cluster-adm ...
- JavaWeb应用系统开发实训任务(一)
项目描述: 随着家长对孩子教育的日渐重视,社区幼儿学校在国内逐渐兴起,对社区幼儿学校的信息化管理成为迫切需求.社区幼儿学校管理系统需要实现以下功能: 1) 教师管理:实现对教师信息的查询.删除.增加 ...
- 进阶Java编程(1)多线程编程
Java多线程编程 1,进程与线程 在Java语言里面最大的特点是支持多线程的开发(也是为数不多支持多线程的编程语言Golang.Clojure方言.Elixir),所以在整个的Java技术学习里面, ...