distcp参数分析及api调用

【Hadoop-Distcp】通过Distcp的方式迁移Hive中的数据至存储对象 将 1000GB 的文件复制到一个由 100 个节点组成的集群,一共分配 2000 个 map 任务(每个节点 20 个 map 任务)所以每个map任务平均复制 512MB 数据。如果数据非常大则有必要限制 map 的数量进而限制带宽和集群的使用(默认情况下,每个集群节点最多分配20个map任务)常规情况下,每个 map 至少复制256MB数据(除非输入的总数据量较少,否则一个 map 就可以完成所有的复制)通过对 distcp 指定 -m 参数,可以减少分配的map任务数。通过查看表详细信息的方式。 阅读详情
AI摘要

本文详细介绍了Hadoop DistCp工具的参数配置,包括-p、-m、-update和-overwrite等常用参数的使用场景及效果。深入探讨了如何通过DistCpOptions类在Java API中设置这些参数,以及distcp在实际复制过程中的map任务分配策略。

1. 参数详解

distcp2和3的参数有所变动。以下参数为2版本参数。
1. 不加任何参数复制:
不会保留文件时间,不会同步文件owner。

$ hadoop distcp  \ hdfs://cluster-host1:9000/user/whb \
hdfs://10.179.25.59:9000/test/01

在这里插入图片描述
在这里插入图片描述
单独复制2副本的wordfile.txt到另一个集群时,默认变成3副本。

-rw-r--r--   3 hadoop supergroup         51 2019-10-24 19:45 /test/01/wordfile.txt

指定多个源:

hadoop distcp  \
hdfs://cluster-host1:9000/user/whb/ww/hi.txt \
hdfs://cluster-host1:9000/user/whb/bb/bb.har/_masterindex \
hdfs://10.179.25.59:9000/test/11

结果:

[hadoop@hadoop1 ~]$ hadoop fs -ls  /test/11
Found 2 items
-rw-r--r--   3 hadoop supergroup         23 2019-10-24 21:37 /test/11/_masterindex
-rw-r--r--   3 hadoop supergroup         12 2019-10-24 21:38 /test/11/hi.txt
标识描述备注
-p[rbugp]Preserve
r: replication number
b: block size
u: user
g: group
p: permission
表示保留哪些。修改次数不会被保留。
并且当指定 -update 时,更新的状态不会被同步,除非文件大小不同(比如文件被重新创建)
-i忽略失败一般不用(测试暂未生效)
-log <dir指定log输出(测试暂未生效)
-m <num最大map数量
-f <urilist_uri指定源列表文件这等价于把所有文件名列在命令行中。 urilist_uri 列表应该是完整合法的URI。
(测试暂未生效)
-update如果源和目标的大小不一样(字节大小)则进行覆盖执行覆盖的唯一标准是源文件和目标文件大小是否相同;如果不同,则源文件替换目标文件。
-overwrite如果一个map失败并且没有使用-i选项,不仅仅那些拷贝失败的文件,这个分块任务中的所有文件都会被重新拷贝。
有目标文件,也直接覆盖掉
1. -p

加上-p参数(不用加后边的子参数),

hadoop distcp -p \
hdfs://cluster-host1:9000/user/whb \ 
hdfs://10.179.25.59:9000/test/03

会将副本数、owner、时间同步过去。

[hadoop@hadoop1 ~]$ hadoop fs -ls  /test/03
Found 6 items
drwxr-xr-x   - whb didi          0 2019-08-26 20:50 /test/03/bb
drwxr-xr-x   - whb didi          0 2019-08-27 16:07 /test/03/hi-out
-rw-r--r--   3 whb didi         51 2019-08-27 14:26 /test/03/hi.txt
drwxr-xr-x   - whb didi          0 2019-08-06 20:56 /test/03/output
-rw-r--r--   2 whb didi         51 2019-06-28 12:15 /test/03/wordfile.txt
drwxr-xr-x   - whb didi          0 2019-08-26 20:41 /test/03/ww
2. -m <num>

最大map个数。如最大4个map

hadoop distcp  -m 4 \
hdfs://cluster-host1:9000/user/whb/ww \
hdfs://10.179.25.59:9000/test/10
3. -update和-overwrite
  • -update用于从源复制目标上不存在或具有不同内容的文件。
  • -overwrite覆盖目标文件,即使它们存在于源文件中或具有相同的内容。

相当于overwrite是update的加强版。
另外注意:
当使用了update或overwrite参数时,关于官网说的只复制下边的文件,并未复现。

https://hadoop.apache.org/docs/stable/hadoop-distcp/DistCp.html

这里-p、-m、-overwrite都是常用参数,大多数情况下我们期望拷贝后数据权限保持一致,通过-p参数来完成权限一致性,拷贝并行度则由-m参数来调节。至于-overwrite往往和-delete合用,用来起到dst和src的一个diff功能。至于-update是很不靠谱的参数,因为只有当源和目标文件的大小不一致时distcp才会覆盖拷贝,如果大小一致,虽然内容不同distcp也依然会跳过这个文件不做拷贝。

其他参数

-append 重新使用目标文件中的现有数据并追加新的如果可能,和update一起使用
Append is valid only with update options(暂未生效)

-bandwidth <arg> 以MB为单位指定每个map的带宽,注意由于在互联网数据传输都是以二进制形式传输,因此,我们将MB的文件需要转换称大Mb需要乘以八个比特位,因此1Gb = 1024MB = 1024MB * 8bits = 8192Mb

-delete 从目标中删除,源文件丢失

-skipcrccheck 是否跳过源和源之间的CRC检查目标路径。

-strategy <arg> 复制策略使用。默认是分工基于文件大小

DistCpOptions类

distcp2.7.2版本的所有参数如下。

public class DistCpOptions {

  private boolean atomicCommit = false; 
  private boolean syncFolder = false;  // 默认值,不同步(不同步的是什么?)
  private boolean deleteMissing = false;
  private boolean ignoreFailures = false; // 不能忽略map错误
  private boolean overwrite = false;  // 默认不会覆盖
  private boolean append = false;
  private boolean skipCRC = false;  // 默认需要校验文件checksum
  private boolean blocking = true;
  private boolean useDiff = false;

  private int maxMaps = DistCpConstants.DEFAULT_MAPS;   // 默认 20
  private int mapBandwidth = DistCpConstants.DEFAULT_BANDWIDTH_MB;  // 默认100

  private String sslConfigurationFile;

  private String copyStrategy = DistCpConstants.UNIFORMSIZE; // 默认 uniformsize

  private EnumSet<FileAttribute> preserveStatus = EnumSet.noneOf(FileAttribute.class); //保留选项,默认为空

  private boolean preserveRawXattrs;

  private Path atomicWorkPath;

  private Path logPath;

  private Path sourceFileListing;
  private List<Path> sourcePaths;

  private String fromSnapshot;
  private String toSnapshot;

  private Path targetPath;

  // targetPathExist is a derived field, it's initialized in the 
  // beginning of distcp.
  private boolean targetPathExists = true;

  public static enum FileAttribute{
    REPLICATION, BLOCKSIZE, USER, GROUP, PERMISSION, CHECKSUMTYPE, ACL, XATTR, TIMES;

    public static FileAttribute getAttribute(char symbol) {
      for (FileAttribute attribute : values()) {
        if (attribute.name().charAt(0) == Character.toUpperCase(symbol)) {
          return attribute;
        }
      }
      throw new NoSuchElementException("No attribute for " + symbol);
    }
  }
  ...

上述枚举类 FileAttribute 是保留选项的参数。

其中,构造器有三种形式:

public DistCpOptions(List<Path> sourcePaths, Path targetPath) {...}

public DistCpOptions(Path sourceFileListing, Path targetPath) {...}

public DistCpOptions(DistCpOptions that) {
    if (this != that && that != null) {
      this.atomicCommit = that.atomicCommit;
      this.syncFolder = that.syncFolder;
      this.deleteMissing = that.deleteMissing;
      this.ignoreFailures = that.ignoreFailures;
      this.overwrite = that.overwrite;
      this.skipCRC = that.skipCRC;
      this.blocking = that.blocking;
      this.maxMaps = that.maxMaps;
      this.mapBandwidth = that.mapBandwidth;
      this.sslConfigurationFile = that.getSslConfigurationFile();
      this.copyStrategy = that.copyStrategy;
      this.preserveStatus = that.preserveStatus;
      this.preserveRawXattrs = that.preserveRawXattrs;
      this.atomicWorkPath = that.getAtomicWorkPath();
      this.logPath = that.getLogPath();
      this.sourceFileListing = that.getSourceFileListing();
      this.sourcePaths = that.getSourcePaths();
      this.targetPath = that.getTargetPath();
      this.targetPathExists = that.getTargetPathExists();
    }
  }  

关于-p参数,直接使用preserve即可添加参数。

  public void preserve(FileAttribute fileAttribute) {
    for (FileAttribute attribute : preserveStatus) {
      if (attribute.equals(fileAttribute)) {
        return;
      }
    }
    preserveStatus.add(fileAttribute);
  }

2.使用javaApi

   		...
		List<Path> sourceList = new ArrayList<Path>();
        sourceList.add(srcPath);
        DistCpOptions options = new DistCpOptions(sourceList, new Path(task.getCopyDstPath()));
        options.setSyncFolder(false); //不需要同步
        options.setDeleteMissing(false);
        options.setSkipCRC(false); //同副本复制需要校验filechecksums
        options.setIgnoreFailures(false);//不能忽略map错误
        options.setOverwrite(true); //核心数据需要覆盖目标目录已经存在的文件
        options.setMaxMaps(100);
        options.setMapBandwidth(10);
        options.preserve(DistCpOptions.FileAttribute.USER);
        options.preserve(DistCpOptions.FileAttribute.GROUP);
        options.preserve(DistCpOptions.FileAttribute.TIMES);
        options.preserve(DistCpOptions.FileAttribute.PERMISSION);
        options.preserve(DistCpOptions.FileAttribute.REPLICATION);
        options.preserve(DistCpOptions.FileAttribute.BLOCKSIZE); //必须确保块大小相同,否则会导致filechecksum不一致
        options.preserve(DistCpOptions.FileAttribute.CHECKSUMTYPE);
        options.setBlocking(true);
        DistCp4EC distCp = new DistCp4EC(conf, options);
 
        Job job = distCp.execute();
    } catch (Exception e) {
    ...}

3. distcp map

对于如下5个文件的distcp:

[hadoop@hadoop bin]$ ./hadoop distcp  /user/whb /ec/whb1212-1

在这里插入图片描述
由于有1个目录,6个文件。因此在map端有6个map
在这里插入图片描述
点进去,发现:
在这里插入图片描述
在这里插入图片描述
建新的目录,需要一个map,其他的每个map,复制一个文件。
如果加上-update,再次复制,即目录存在时,就只有5个map了,不需要再起map来建目录。

[hadoop@hadoop bin]$ ./hadoop distcp  -update /user/whb /ec/whb1212-1

在这里插入图片描述

distcp流程分析 背景 distcp可用于跨集群或集群内目录的复制,distcp参数不同复制的结果差别较大。本文结合官网及源码,对distcp流程进行分析,并结合测试给出验证。 使用 1. shell 目标目录父目录不存在时,可以自动建立多层目标目录。 1. 文件复制 文件复制时,相当于cp,因为hdfs无法并行写。将a.txt复制并重命令为a_bak.txt $ hadoop distcp \ hdfs://c... 阅读详情

相关推荐

hadoop distcp同步工具使用

日常记录: hadoop distcp数据据同步: 注意事项: 1、为避免集群带宽被全部占用,进而影响其他线上服务,在做数据迁移时应该限制占用带宽; 2、为了避免失败了map影响整体任务的同步,最好忽略失败 性能测试: 命令: hadoop distcp -p -i -m 20 -log dir -updat...

XY_2017ChaseDream的博客 1903

distcp 是什么?如何在两个 HDFS 集群之间传输数据?

前言 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系 正文 distcp 是什么?该怎么用? distcp 是 Hadoop 自带的分布式复制程序,该程序可以从 Hadoop 文件系统间复制大量数据,也可以将大量的数据复制到 Hadoop 中。 distcp 的典型应用场景是在两个 HDFS 集群之间传输数据。 如果两个集群运行相同版本的 Hadoop,就非常适合

Shockang的博客 2万+

大数据技术在电影产业数据分析与可视化中的应用实践

大数据技术通过分布式计算框架如Spark和Hadoop,实现了对海量数据的高效处理与分析。其核心原理在于将计算任务分解并行执行,显著提升了数据处理速度。在电影产业中,这项技术能够处理TB级的票房数据、评分信息和观众行为数据,为市场分析提供强大支持。典型应用场景包括票房预测、观众偏好分析和排片优化等。本文以电影数据分析系统为例,详细介绍了从数据采集、存储到可视化展示的全流程实现,其中特别运用了Spark MLlib进行机器学习建模,并通过ECharts实现交互式数据可视化,为行业决策提供了数据驱动的科学依据。

weixin_30650039的博客 416

【Hadoop-Distcp】工具简介及参数说明

【Hadoop-Distcp】工具简介及参数说明,Distcp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。它使用 Map/Reduce 实现文件分发,错误处理和恢复,以及报告生成。Distcp 把文件和目录的列表作为 map 任务的输入,每个任务会完成源列表中部分文件的拷贝。

weixin_53543905的博客 3066

Cloudera Hadoop企业级故障排查与调优实战指南

Cloudera Hadoop是企业级大数据平台的核心发行版,其本质是Hadoop生态在生产环境中的深度封装与工程化落地。理解其运行原理,关键在于掌握配置驱动的服务协同机制、Kerberos与Ranger构成的多层安全模型,以及YARN资源调度与Hive/Impala性能调优的数据闭环方法论。它不仅涉及HDFS高可用、HiveServer2故障定位等典型场景,更要求运维与数据工程师具备从Cloudera Manager配置继承链、TLS证书SAN字段校验到LLAP缓存命中率分析的全栈排障能力。本指南聚焦CD

604

Hadoop大数据集群部署与运维实战指南

分布式计算作为大数据处理的核心技术,通过将任务分解到多台服务器并行执行,显著提升了数据处理效率。Hadoop作为开源分布式系统基础架构,其HDFS和MapReduce组件分别解决了海量数据存储与计算问题。在电商、金融等实时数据分析场景中,合理的集群规划与参数调优能提升30%以上性能。本文基于真实项目经验,详细解析硬件选型、网络配置、监控告警等关键环节,特别分享DataNode磁盘选择、Prometheus监控配置等实战技巧,帮助开发者规避常见运维陷阱。

weixin_33843409的博客 367

DistCp可行性分析

目录官方文档概述基本使用方法更新和覆盖问题 官方文档 概述 DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝。 由于使用了Map/Reduce方法,这个工具在语义和执行上都会有特殊的地方。 基本使用方法 DistCp最常用在集群之间的拷贝: bash$ hadoop distcp hdfs://nn1:8020/foo/bar \

呼卓宇的博客 561

绿盟ESPC V7.0 安装部署实战:CentOS 7.2 单机部署与7大端口配置详解

本文详细介绍了绿盟ESPC V7.0在CentOS 7.2环境下的单机部署全流程,包括环境准备、安装包验证、7大核心服务端口配置及安全建议。通过实战指南帮助安全工程师快速构建企业级安全运营平台,优化性能并确保系统稳定运行。

weixin_30522183的博客 375

HDFS块大小调整实战与性能优化指南

HDFS块大小是Hadoop分布式文件系统中的核心参数,直接影响存储效率与计算性能。其设计原理基于固定大小的数据块划分,既简化了存储管理,又支持数据本地化处理与并行计算。合理的块大小设置需要在寻址开销与传输效率之间取得平衡,这对大规模数据处理尤为关键。在实际工程中,块大小调整常用于优化小文件存储、视频处理、科学计算等场景,配合SSD存储或冷数据归档等需求。通过调整dfs.blocksize参数,结合HDFS目录级配置,可以显著提升集群资源利用率。典型实践包括电商日志分析中的内存优化,以及视频处理场景下的并行

weixin_33728708的博客 474

Cloudera CDP 7.1.7企业级平台实战:从CM部署到Kerberos安全运维

Cloudera不是Hadoop的简单封装,而是面向PB级数据治理的企业级平台操作系统。其核心在于Cloudera Manager(CM)驱动的声明式编排能力、Kerberos深度集成的安全模型,以及Parcel机制保障的版本一致性与可回滚性。理解CM如何替代手工配置、Kerberos如何成为服务间信任根、CDP 7.1.x相比CDH 6.3在Parcel回滚与数据库兼容性上的工程优势,是构建高可用、可审计、可运维大数据平台的技术前提。本内容聚焦真实生产环境中的集群筑基、安全启用、故障三角定位(认证/存储/

weixin_34204722的博客 526

Hadoop大数据集群运维实战:从规划到调优

分布式计算通过多节点协同处理海量数据,其核心原理是将计算任务分解并调度到数据所在节点执行。Hadoop作为主流开源框架,采用HDFS实现分布式存储,YARN进行资源调度,通过移动计算而非数据的理念显著提升处理效率。在金融风控、电商推荐等实时性要求高的场景中,合理的硬件选型(如JBOD存储架构)与内核参数优化(如关闭透明大页)可降低50%以上GC停顿时间。运维人员需重点关注HDFS高可用部署、YARN动态资源分配等关键技术,结合Prometheus+ELK构建覆盖硬件、服务、日志的三层监控体系,有效应对节点故

weixin_34379433的博客 414

java toolrunner_采用ToolRunner执行Hadoop基本面分析程序

除此以外,另一个方法:static voidprintGenericCommandUsage(PrintStream out)Prints generic command-line argurments and usage information.4、ToolRunner完毕下面2个功能:(1)为Tool创建一个Configuration对象。(2)使得程序能够方便的读取參数配置。ToolRunn...

weixin_30949673的博客 216

25、从 Hadoop 中导出数据的实用技巧

本文详细介绍了从 Hadoop 导出数据的多种实用技巧,涵盖了基础命令行操作、REST API、防火墙环境下的 HttpFS 网关、NFS 挂载、使用 DistCp 并行复制、Java API 编程、自动化导出工具 HDFS File Slurper,以及通过 Sqoop 向关系型数据库如 MySQL 导出数据等内容。文章还对各种方法进行了对比分析,并提供了性能优化建议和常见问题的解决方案,帮助用户根据实际需求选择合适的导出策略。

c2d3e4f的博客 66

Hadoop2 - HDFS文件系统

1HDFS(Hadoop Distributed File System)是 Apache Hadoop 生态的核心组件之一,是专门为海量数据存储设计的分布式文件系统。你可以把它理解成 “大数据时代的分布式超级硬盘”—— 它将超大文件切分成小块,分散存储在集群的多台廉价商用服务器上,同时对外提供统一的文件访问接口,让用户感觉就像使用本地文件系统一样。

hk000001的博客 1035

Windows 10下用VS2022编译AFSIM 2.9.0的完整避坑指南

本文提供了在Windows 10系统下,使用Visual Studio 2022编译AFSIM 2.9.0仿真框架的详细指南。文章系统梳理了从环境准备、CMake配置、编译链接到安装打包的全流程,并重点针对编译过程中常见的文件编码、命名空间冲突等高频错误提供了具体解决方案,旨在帮助开发者高效避坑,顺利完成AFSIM在Windows平台上的构建。

weixin_28839549的博客 548

Springboot计算机毕业设计校园树洞微信小程序【附源码】开题+论文+mysql+程序+部署

因此,开发一款专门针对校园用户的树洞微信小程序,为学生提供一个安全、私密、便捷的倾诉和交流平台,具有重要的现实意义和应用价值。通过本研究的实施,我们预期能够开发出一款功能全面、操作便捷的校园树洞微信小程序,为校园师生提供一个安全、私密、便捷的倾诉和交流平台。此外,通过不断优化和改进小程序的功能和服务,我们预期能够提升用户体验和满意度,推动校园树洞小程序的持续发展,并为校园生活的和谐与健康发展做出积极贡献。同时,通过不断优化小程序的功能和服务,提升用户体验和满意度,推动校园树洞小程序的广泛应用和持续发展。

光冯毕设程序 1666

别只当存储用!HDFS这些‘隐藏’命令能帮你省下大量运维时间

本文深入探讨了HDFS运维中五个被低估的高效命令与实战脚本,帮助管理员从被动清理转向主动预防。通过`-du`、`-count`等命令组合实现智能空间管理,利用`-setrep`优化副本策略,并分享元数据巡检与数据迁移的高级技巧,大幅提升Hadoop集群运维效率。

weixin_30570101的博客 290

【光学仿真】基于Matlab的LG/BG/PV/HG光束生成与特性分析【附完整源码】

本文详细介绍了如何使用Matlab进行拉盖尔-高斯(LG)、贝塞尔-高斯(BG)、完美涡旋(PV)和厄米-高斯(HG)四种特殊光束的仿真与特性分析。通过提供完整的Matlab源码,手把手指导读者生成光束、分析其强度、相位、传播特性及轨道角动量,为光学研究、激光应用及教学提供了直观高效的数值实验平台。

3a9bq4r8t2y的博客 490

Hive批量删除分区:高效清理数据仓库的核心技术与实践

在大数据仓库管理中,数据清理是保障存储效率和成本控制的关键环节。其核心原理是通过元数据操作与底层文件系统协同,实现对过期或无效数据的精准移除。这项技术的核心价值在于提升运维自动化水平、保障数据一致性,并有效释放存储资源。尤其在Hive这类基于HDFS的数据仓库中,分区表的广泛使用使得批量清理成为高频需求。通过掌握`ALTER TABLE ... DROP PARTITION`的批量语法,结合`PURGE`选项与`IF EXISTS`子句,工程师可以构建健壮的自动化清理流程。本文聚焦于**批量删除分区**这一

clijovtbq401783153的博客 337

为什么AI时代的优秀组织,都在学习Meta的Pod结构?看完秒懂

当AI技术重塑产业格局,企业协作正面临前所未有的挑战——层级繁琐、跨部门内耗、迭代滞后,传统组织模式早已难以跟上技术革新的步伐。作为全球AI原生企业的标杆,Meta独创的Pod组织模式,用“小而美”的自治单元打破困局,成为AI时代高效协作的典范。本文将从定义、运作、价值到未来演进,全面拆解Pod模式,为企业组织变革提供可参考的思路与路径。德鲁克曾说:“组织的功能就是让平凡的人做平凡的事。”而Meta Pod打破这一局限,通过去中心化、指标导向、跨界融合,让优秀人才产生“化学反应”。

Kiss_AIHR的博客 1163

Toeplitz矩阵以及矩阵乘法FFT加速

Toeplitz矩阵以及矩阵乘法FFT加速 1.Toeplitz矩阵 托普利兹矩阵,简称为T型矩阵,它是由Bryc、Dembo、Jiang于2006年提出的。托普利兹矩阵的主对角线上的元素相等,平行于主对角线的线上的元素也相等;矩阵中的各元素关于次对角线对称,即T型矩阵为次对称矩阵。这里我们使用matlab中自带的函数生成一个toeplitz矩阵的例子: x=[1 2 3 4]; y=[1 5 6 7 8 9]; z=toeplitz(x,y); 我们可以得到一个这样的矩阵结果: 我们可以看到,其中x中

thlz 5068

Hadoop推测执行(以空间换取时间)

1. 背景 Speculative Task,又叫推测式任务,是指在分布式集群环境下,因为程序bug,负载不均衡或者资源分布不均,造成同一个job的多个task运行速度不一致,有的task运行速度明显慢于其他task(比如:一个job的某个task进度只有10%,而其他所有task已经运行完毕),则这些task拖慢了作业的整体执行进度,为了避免这种情况发生,Hadoop会为该task启动sp

guoyunyuhou的专栏 1533

ZYNQ BRAM实现PS与PL数据交互

有时CPU需要与PL进行小批量的数据交换,可以通过BRAM模块,也就是Block RAM实现此要求。本章通过Zynq的GP Master接口读写PL端的BRAM,实现与PL的交互。在本实验中加入了自定义的FPGA程序,并利用AXI4总线进行配置,通知其何时读写BRAM。以下为本实验原理图,CPU通过AXI BRAM Controller读取BRAM数据,CPU仅配置自定义的PL BRAM Controller 的寄存器,不通过它读写数据。

baidu_34971492的博客 2273

Hadoop生态不是过时技术,而是确定性数据基建工具箱

在大数据技术演进中,Hadoop生态常被误读为‘过时的批处理栈’,实则它是一套以HDFS、YARN为核心底座,支持Hive、Spark、HBase等组件灵活协同的模块化基础设施。其核心价值在于提供强确定性——在离线归档、等保合规、高吞吐写入、混合负载隔离等刚性约束下,保障可预测的性能与可审计的稳定性。尤其在私有云、边缘计算、跨省政务/金融等场景中,HDFS的小文件治理能力、YARN的细粒度资源隔离、Hive LLAP的交互式服务化、HBase的毫秒级随机读写,共同构成不可替代的技术组合。本文聚焦真实生产中的

weixin_30904593的博客 414

XCP实战系列介绍09-基于Vehicle Spy进行XCP测量步骤详解

详细介绍如何使用Vehicle Spy进行XCP测量

initiallizer的博客 1390

试读源码在这里下载

试读文章的源码在这里下载。源码不做任何修改,重点重点重点:为了代码运行不报错,安装matlab 版本为 2021 及以上版本。matlab安装教程大家可以参考这个教程:手把手教你安装matlab软件。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4301
上一篇: distcp流程分析
下一篇: shiro安全框架
王小禾
博客等级 码龄11年 80粉丝 291原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值