【对象存储】-- s3:\\、s3n:\\、s3a:\\ 简介

devtools/2025/1/15 16:03:02/

目录

1. s3:\

2. s3n:\

3. s3a:\

区别对比

总结


      在 Hadoop 和大数据处理领域,s3:\\s3n:\\s3a:\\ 是访问 Amazon S3 的不同文件系统实现方式。以下是它们的简要介绍、区别及应用场景:


1. s3:\

  • 全称:Hadoop S3 Native FileSystem。
  • 特点
    • 使用 Amazon 提供的 Java SDK。
    • 适用于早期版本的 Hadoop。
    • 实现方式:将整个文件加载到内存中再上传到 S3,导致对大文件的处理非常低效。
  • 缺点
    • 内存消耗高,不适合大文件。
    • 不支持多线程并发。
  • 应用场景
    • 历史遗留项目,或数据量较小、对性能要求不高的场景。

2. s3n:\

  • 全称:Hadoop S3 Native (旧版) FileSystem。
  • 特点
    • 改善了 s3:\\ 的一些性能问题。
    • 支持将数据分块写入 S3,而非一次性加载到内存中。
    • 不支持 S3 的所有现代特性,例如服务器端加密和高级身份验证。
  • 缺点
    • 每个文件的大小受限于 Hadoop 集群中单个节点的最大内存限制(例如,超过 5GB 文件可能会有问题)。
    • 被 Hadoop 官方标记为过时(deprecated)。
  • 应用场景
    • 需要较早支持分块存储的 Hadoop 版本,或中小规模数据场景。

3. s3a:\

  • 全称:Hadoop S3 Advanced FileSystem。
  • 特点
    • 当前的标准和推荐实现。
    • 使用 Amazon S3 的 REST API。
    • 支持多线程并发上传和下载,提高了性能。
    • 支持更多现代 S3 特性,如:
      • 服务器端加密。
      • IAM 角色。
      • 高效地处理大文件(TB 级别)。
    • 提供流式读取和写入,解决了之前版本的内存限制问题。
  • 缺点
    • 依赖 Hadoop 2.7 或更新版本。
  • 应用场景
    • 大数据处理。
    • 实时流处理(如 Spark、Flink)。
    • 需要高吞吐量的 S3 文件操作。

区别对比

特性s3:\s3n:\s3a:\
支持版本Hadoop 早期版本Hadoop 早期版本Hadoop 2.7 及以上
性能较好优秀
内存限制整体加载到内存分块写入,但有单节点限制无限制
S3 特性支持部分支持部分支持全面支持
并发处理不支持不支持支持
推荐使用

总结

  • 如果是旧项目且依赖早期版本的 Hadoop,可以选择 s3n:\\
  • 对于现代大数据处理和实时分析场景,推荐使用 s3a:\\,尤其是需要处理大文件或高并发操作时。
  • s3:\\ 已基本淘汰,仅限历史遗留系统使用。

http://www.ppmy.cn/devtools/150304.html

相关文章

实用好软-----电脑端apk应用查看签名 md5 等信息的小工具

在安卓应用开发的复杂流程中,每一个环节都至关重要,从最初的代码编写,到最后的应用打包上线,开发者们需要面对诸多琐碎却又不容小觑的任务。今天,要为大家介绍一款堪称 “开发利器” 的工具,它将全方位助力…

一些计算机零碎知识随写(25年1月)-1

我原以为世界上有技术的那批人不会那么闲,我错了,被脚本真实了。 今天正隔着画画呢,手机突然弹出几条安全告警通知。 急忙打开服务器,发现问题不简单,直接关服务器重装系统..... 首先,不要认为小网站&…

面向强化学习的状态空间建模:RSSM的介绍和PyTorch实现

循环状态空间模型(Recurrent State Space Models, RSSM)最初由 Danijar Hafer 等人在论文《Learning Latent Dynamics for Planning from Pixels》中提出。该模型在现代基于模型的强化学习(Model-Based Reinforcement Learning, MBRL&#xf…

Matlab APP Designer

我想给聚类的代码加一个图形化界面,需要输入一些数据和一些参数并输出聚类后的图像和一些评价指标的值。 gpt说 可以用 app designer 界面元素设计 在 设计视图 中直接拖动即可 如图1,我拖进去一个 按钮 ,图2 红色部分 出现一行 Button 图…

贪心算法汇总

1.贪心算法 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 如何能看出局部最优是否能推出整体最优 靠自己手动模拟,如果模拟可行,就可以试一试贪心策略,如果不可行,可能需要动态规划。 如何验证可不可以…

CentOS下安装Docker

Docker 必须要在Linux环境下才能运行,windows下运行也是安装虚拟机后才能下载安装运行,菜鸟教程 下载安装 linux 依次执行下边步骤 更新 yum yum update 卸载旧的Docker yum remove docker docker-client docker-client-latest docker-common doc…

(STM32笔记)十二、DMA的基础知识与用法 第三部分

我用的是正点的STM32F103来进行学习,板子和教程是野火的指南者。 之后的这个系列笔记开头未标明的话,用的也是这个板子和教程。 DMA的基础知识与用法 三、DMA程序验证1、DMA 存储器到存储器模式实验(1)DMA结构体解释(2…

QT c++ 样式 设置 按钮(QPushButton)的渐变色美化

上一篇文章中描述了标签的渐变色美化,本文描述按钮的渐变色美化。 1.头文件 #ifndef WIDGET_H #define WIDGET_H #include <QWidget> //#include "CustomButton.h"#include <QVBoxLayout> #include <QLinearGradient> #include <QPushButton&…