hdfs相关内容
尝试从 Apache Hadoop.运行 map reduce 作业时出现以下异常.试过 hdfs dfs -chmod 777/ 但这并没有解决问题. 15/03/10 13:13:10 WARN mapreduce.JobSubmitter:未执行 Hadoop 命令行选项解析.实现 Tool 接口并执行您的应用程序ToolRunner 来解决这个问题.15/03/10 13:13:10 W
..
遵循 Hadoop:如何访问(许多)要由 map/reduce 处理的照片图像? 问题,其中 orangeoctopus 提供了加载图像二进制文件并将它们收集到 SequenceFiles 以提供给映射器的合理方向. 认为这对其他人也可能有用,作为本地 java 进程或在大量图像文件的情况下可能是 hadoop 作业,我创建了这个单独的问题来寻找实现的示例. 谢谢! 解决方案
..
HDFS 的块大小是 64 MB 吗?有什么配置参数可以用来修改吗? 对于一个读gzip文件的mapper来说,gzip文件的个数是不是一定要等于mapper的个数? 解决方案 这取决于你的: 输入格式 - 某些输入格式(NLineInputFormat、WholeFileInputFormat)适用于块大小以外的边界.一般来说,尽管从 FileInputFormat 扩展的任
..
我正在使用 Hadoop 示例程序 WordCount 来处理大量小文件/网页 (cca. 2-3 kB).由于这与 hadoop 文件的最佳文件大小相去甚远,因此程序非常慢.我想这是因为设置和撕裂工作的成本远高于工作本身.这样的小文件也会导致文件名的命名空间耗尽. 我读到在这种情况下我应该使用 HDFS 存档 (HAR),但我不确定如何修改此程序 WordCount 以从该存档中读取.程序
..
在 Reduce 设置方法中,我试图关闭 BufferedReader 对象并获得 FileSystem 关闭异常.它不会一直发生.这是我用来创建 BufferedReader 的一段代码. String fileName = 配置 conf = new Configuration();文件系统 fs = FileSystem.get(conf);路径 hdfsPath
..
有人可以解释这个计算并给出一个清晰的解释吗? 快速计算表明,如果寻道时间约为 10 毫秒,传输速率为 100 MB/s,要使寻道时间占传输时间的 1%,我们需要将块大小设为 100 MB 左右.默认值实际上是 64 MB,尽管许多 HDFS 安装使用 128 MB 块.随着新一代磁盘驱动器传输速度的提高,该数字将继续向上修正. 解决方案 一个block会作为一条连续的信息存储在磁盘上
..
在 Hadoop MapReduce 中,对于中间输出(由 map() 生成),我希望中间输出的值是以下对象. 我的对象{日期:日期余额:双} 我该怎么做.我应该创建自己的可写类吗? 我是 MapReduce 的新手. 谢谢. 解决方案 您可以编写您可以作为映射器值发出的自定义类型.但是无论你想作为值发出什么,都必须实现可写接口.你可以这样做: public class
..
我正在探索在本地系统上运行 hadoop 应用程序的选项. 与许多应用程序一样,前几个版本应该能够在单个节点上运行,只要我们可以使用所有可用的 CPU 内核(是的,这与 这个问题).当前的限制是,在我们的生产系统上我们有 Java 1.5,因此我们绑定到 Hadoop 0.18.3 作为最新版本(参见 这个问题).所以很遗憾,我们还不能使用这个新功能. 第一个选项是简单地以伪分布式模式
..
有点奇怪的问题,但有谁知道 MapReduce 在 shuffle/sort 的排序部分使用了哪种排序?我会考虑合并或插入(与整个 MapReduce 范例保持一致),但我不确定. 解决方案 这是快速排序,然后将排序后的中间输出合并在一起.快速排序检查递归深度并在它太深时放弃.如果是这种情况,则使用堆排序. 看看 Quicksort 类: org.apache.hadoop.uti
..
我在本地文件系统中保存了 1000 万多张照片.现在我想通过它们中的每一个来分析照片的二进制文件,看看它是否是一只狗.我基本上想对集群的hadoop环境进行分析.问题是,我应该如何设计 map 方法的输入?比如说,在 map 方法中,new FaceDetection(photoInputStream).isDog() 是分析的所有底层逻辑. 具体来说,我应该将所有照片上传到 HDFS 吗?
..
在 Hadoop 中,如果我们没有设置 reducer 的数量,那么会创建多少个 reducer? 映射器的数量取决于(总数据大小)/(输入拆分大小),例如.如果数据大小为 1 TB,输入拆分大小为 100 MB.那么映射器的数量将是(1000*1000)/100 = 10000(一万). reducer 的数量取决于哪些因素?为一个作业创建了多少个 reducer? 解决方案
..
Hadoop 中的分割大小和块大小之间有什么关系?正如我在 this 中读到的,拆分大小必须是块大小的 n 倍(n 是整数且 n > 0),这是正确的吗?分割大小和块大小之间有什么必然的关系吗? 解决方案 在HDFS架构中有块的概念.HDFS 使用的典型块大小为 64 MB.当我们将一个大文件放入 HDFS 时,它被分成 64 MB 的块(基于块的默认配置),假设您有一个 1GB 的文件,
..
HDFS/Hadoop 的默认数据块大小为 64MB.磁盘中的块大小一般为4KB. 64MB 块大小是什么意思?-> 是不是说从磁盘读取的最小单位是64MB? 如果是,这样做有什么好处?->HDFS中大文件的连续访问方便吗? 我们可以通过使用磁盘的原始 4KB 块大小来做同样的事情吗? 解决方案 64MB 块大小是什么意思? 块大小是文件系统可以存储的最小数据单
..
一些背景信息: 我正在使用 Dataiku DSS、HDFS 和分区数据集.我有一个正在运行的特定作业(Hive 查询),它有两个输入数据集 - 一个是非常大的分区数据集,另一个是小型(约 250 行,2 列)非分区数据集.我们称分区表为 A,非分区表为 B. 问题: 查询格式如下, 选择 a.f1, f2, ..., fn从 A 作为左连接 B 作为 b开 a.f1 = b.
..
在 Map Reduce 编程中,reduce 阶段具有 shuffle、sorting 和 reduce 作为其子部分.排序是一件昂贵的事情. Map Reduce编程中reducer中shuffle和sort阶段的目的是什么? 解决方案 首先shuffling是把数据从mapper传到reducers的过程,所以我觉得很明显就是reducer 是必需的,否则,它们将无法获得任何输
..
我使用的工作区设置为 Hive 1.1.0 和 CDH 5.5.4.我进行了一个查询,它带来了 22 个分区的结果.此分区目录中保存的文件始终是唯一的,大小从 20MB 到 700MB 不等. 据我了解,这与查询过程中使用的reducer数量有关.假设我希望每个分区有 5 个文件而不是 1 个,我使用以下命令: set mapreduce.job.reduces=5; 这会让系统在第一阶
..
我们的摄取过程存在问题,这会导致将分区添加到 Hive 中的表,但 HDFS 中的路径实际上并不存在.我们已经解决了这个问题,但我们仍然有这些坏分区.使用 Tez 查询这些表时,我们得到 FileNotFound 异常,指向 HDFS 中不存在的位置.如果我们使用 MR 而不是 Tez,则查询有效(这让我很困惑),但速度太慢了. 有没有办法列出所有有这个问题的分区?MSCK REPAIR 似
..
我的本地机器 (Linux) 中已经有一个 MySQL 表,而且我有一个与 MySQL 表具有相同架构的 Hive 外部表. 我想在插入或更新新记录时同步我的 hive 外部表.批量更新对我来说每小时都可以.在不使用 sqoop 的情况下实现相同目标的最佳方法是什么? 谢谢,顶 解决方案 没有 scoop,您可以创建表 STORED BY JdbcStorageHandle
..
我在 3 个集群上安装了 Hadoop 和 Hive.我可以从运行 HIVE 的集群节点登录到 hive. root@NODE_3 hive]# hive Logging 使用配置初始化jar:file:/usr/lib/hive/lib/hive-common-0.10.0-cdh4.2.0.jar!/hive-log4j.properties蜂巢历史文件=/tmp/root/hive_j
..
是否有任何 Hive 内部进程连接到减少或映射任务? 补充一下! Hive 如何与 MapReduce 相关联? 如何安排作业? 查询结果如何返回给hive驱动? 解决方案 对于 HIVE,没有直接沟通 Map/Reduce 任务的过程.它与 Jobtracker(YARN 中的 Application Master)通信(流程 6.3),仅用于在调度后与作业处理相关的事情
..