Hadoop-No.13之数据源系统以及数据结构

简介: 文件系统中采集数据时,应该考虑以下内容.数据源系统设备的读取速率在所有处理流水线中,磁盘I/O通常都是主要瓶颈.但是优化采集流程时通常要看一下检索数据的系统系统.一般来说,Hadoop的读取速度在20MB/s到100MB/s之间,而且主板或者控制器从系统所有的磁盘中读取时有一定的限制.

文件系统中采集数据时,应该考虑以下内容.

  • 数据源系统设备的读取速率

    在所有处理流水线中,磁盘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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
5月前
|
自然语言处理 算法 测试技术
【数据结构原理】系统生命周期 | 算法规范 | 笔记
【数据结构原理】系统生命周期 | 算法规范 | 笔记
43 0
|
5月前
|
分布式计算 Hadoop Java
65 Hadoop工作流调度系统
65 Hadoop工作流调度系统
68 0
|
13天前
|
分布式计算 资源调度 监控
Hadoop生态系统深度剖析:面试经验与必备知识点解析
本文深入探讨了Hadoop生态系统的面试重点,涵盖Hadoop架构、HDFS、YARN和MapReduce。了解Hadoop的主从架构、HDFS的读写流程及高级特性,YARN的资源管理与调度,以及MapReduce编程模型。通过代码示例,如HDFS文件操作和WordCount程序,帮助读者巩固理解。此外,文章强调在面试中应结合个人经验、行业动态和技术进展展示技术实力。
|
3月前
|
算法 定位技术 C++
数据结构实训(大作业)c++模拟北斗卫星导航系统简单的迪杰斯特拉算法
数据结构实训(大作业)c++模拟北斗卫星导航系统简单的迪杰斯特拉算法
24 0
|
3月前
|
分布式计算 资源调度 Hadoop
在Linux系统上安装Hadoop的详细步骤
【1月更文挑战第4天】在Linux系统上安装Hadoop的详细步骤
421 0
|
8月前
|
分布式计算 Hadoop
win系统hadoop启动时RM uses DefaultResourceCalculator问题解决
org.apache.hadoop.yarn.exceptions.YarnRuntimeException: RM uses DefaultResourceCalculator which used only memory as resource-type but invalid resource-types specified 错误
|
4月前
|
分布式计算 网络协议 Hadoop
大数据成长之路------hadoop集群的部署 配置系统网络(静态) 新增集群(三台)
大数据成长之路------hadoop集群的部署 配置系统网络(静态) 新增集群(三台)
27 0
|
4月前
|
分布式计算 资源调度 大数据
【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)
【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)
185 0
|
7月前
|
存储 分布式计算 资源调度
Hadoop生态系统特点
Hadoop生态系统特点
49 0
|
7月前
|
存储 算法
入门篇2:如何系统高效的学习算法与数据结构
入门篇2:如何系统高效的学习算法与数据结构

相关实验场景

更多