hadoop - hdfs put/moveFromLocal 不在数据节点之间分配数据?
问题描述
我发现了类似的问题 Hadoop HDFS 没有均匀分布数据块
但我的问题是当复制因子 = 1
我仍然想了解为什么 HDFS 没有在集群节点之间均匀分布文件块?当我在此类文件上加载/运行数据帧操作时,这将导致数据从一开始就倾斜。我错过了什么吗?
解决方案
即使复制因子为 1,文件仍会被拆分并存储为 HDFS 块大小的倍数。块放置是尽最大努力,AFAIK,而不是纯粹的平衡;3 的复制放置选择一个随机节点,然后是同一机架上的另一个节点,然后是另一个随机离开机架的节点
您需要澄清您的文件有多大,以及您在哪里查看数据是否正在拆分
注意:并非所有文件格式都是可拆分的
推荐阅读
- python - pkg_resources.DistributionNotFound: 'jsonschema'
- arrays - 如何确定数组中的所有对象是否在 Swift 中连接
- oracle - ORA-06550:第 1 行,第 7 列:PLS-00306:调用“TEST”时参数的数量或类型错误 ORA-06550:第 1 行,第 7 列:PL/SQL:语句被忽略
- c# - 使用 C# 从 Azure 中的授权密钥功能级别授权中检索密钥
- d3.js - dc.js 不显示 y 轴
- .net - 在 Visual Studio 中运行测试用例会抛出“System.ArgumentException:路径中的非法字符”
- c - MSVC #pragma 优化参数示例
- android - 即使我手动进入设置并允许权限,Oreo 中也看不到对话框
- javascript - Webgl vertexAttribPointer:索引超出范围
- gulp - If / else 对象使用 @@loop 和参数 gulp-file-include