草庐IT

Non-blocking

全部标签

hadoop - 如果 InputSplit 大小与 Block 大小不同会怎样?

假设存储在HDFS中时,block大小是默认的64MB。现在我将InputSplit大小更改为128MB。其中一个数据节点在本地只存储了1个信息block。JobTracker给它一个映射器。它如何在128MB大小的拆分上运行map()? 最佳答案 128MB文件,block大小为64MB-->默认值-->2个Map任务128MB文件,block大小为64MB-->最小分割大小128MB-->1个Map任务你可以这样做,但你会失去局部性。默认拆分算法坚持的原因block边界是这样的,即每个任务单独处理一个block,并且调度程序可以

hadoop - 在 hadoop 中查找文件的第一个 block

我正在将一个500Mb或更大的视频文件存储在hdfs中。由于它大于block大小,它将被分发。我必须先收集或处理第一个数据block(这里是视频文件),因为它只包含序列头。我该怎么做,或者如何在hadoop中找到文件的第一个数据block? 最佳答案 如果你想读取第一个block,你可以从FileSystem中获取一个InputStream并读取字节直到它达到你预定的数量(例如block大小64mb将是64*1024*1024字节)。这是一个例子(虽然64mb是很多数据。如果你认为你需要的数据远在64mb之前,只需更改bytesLe

hadoop - 保留更改后如何重新分配数据 block

我有Hadoop2.7.1。并决定在一个数据节点上释放几个演出。我更改了该节点上的hdfs-site.xml(定义为dfs.datanode.du.reserved)并重新启动了datanode进程。Hadoop数据节点摘要页面开始显示节点可用空间降为零,但我仍然没有注意到任何数据移动。我能做些什么来将数据block重新定位到现在不受限制的另一个节点。 最佳答案 我找到了适合我的命令:$hadoop/bin/hdfsbalancer 关于hadoop-保留更改后如何重新分配数据block

hadoop - YARN-Cgroups : Failed to initialize container executor in non-secure cluster

我正在尝试在非安全模式下将cgroups与YARN2.6.0结合使用。有用如果我使用DefaultContainerExecutor就好了。但是,当我尝试使用LinuxContainerExecutor时出现错误。现在,当我执行-->$yarnnodemanager时,它失败了ExitCodeExceptionexitCode=24:File/home/hduser2/hadoop/hadoop-2.6.0/etc/hadoopmustbeownedbyroot,butisownedby1001atorg.apache.hadoop.util.Shell.runCommand(Shel

java - Hadoop HDFS文件拆分成 block 的哪个Java文件

众所周知,当一个文本文件从本地复制到HDFS时,该文件被分割成固定大小的128MB。例如,当我将一个256MB的文本文件复制到HDFS时,将有2个block(256/128)包含“拆分”文件。谁能告诉我Hadoop2.7.1源代码中的哪个java/jar文件具有将文件拆分为block的功能,以及哪个java/jar文件将block写入数据节点的目录.帮我追踪这段代码。我只找到了在FileInputFormat.java中找到的对block进行逻辑输入拆分的那个,这不是我需要的。我需要用于拆分物理文件的java文件。 最佳答案 将数据

hadoop - HDFS block 创建

我想知道block是如何创建的。它是在文件系统上默认创建64MBblock还是根据文件传输事件创建假设我已经设置了一个10节点集群设置。我在所有节点上安装hadoop。现在如何创建block。一旦我启动hdfs服务,该block就会在linux系统上创建。它是否创建了4kblock的物理64MBblock?(基本block大小)。或当我移动一个大小为128MB的文件时,将创建两个block。block创建是否在两个节点中并行发生?哪个组件会实际将文件拆分成block?我只是hadoop的初学者,因此提出这些问题以获得清晰的理解 最佳答案

hadoop - 如何更改 pyspark 中的 hdfs block 大小?

我使用pySpark编写parquet文件。我想更改该文件的hdfsblock大小。我这样设置block大小,但它不起作用:sc._jsc.hadoopConfiguration().set("dfs.block.size","128m")这是否必须在启动pySpark作业之前设置?如果可以,怎么做。 最佳答案 尝试通过sc._jsc.hadoopConfiguration()和SparkContext设置它frompysparkimportSparkConf,SparkContextconf=(SparkConf().setMas

hadoop - 谁将为 hadoop 中的 block 创建 block ID?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭5年前。Improvethisquestion我想知道谁将为hadoop中的block创建blockID,无论是HDFS客户端还是名称节点。请告诉我。

Hadoop HDFS 数据文件 : Displaying Datanodes & Blocks

我已经将一个文件放入HDFS,我想确切地知道它是如何分散在DFS中的(哪些数据block在哪些数据节点中)。尝试了fsck,但当我指定我放入DFS中的数据文件的名称时,出现“无效路径”错误。有什么想法吗? 最佳答案 尝试hdfsfsck/path/to/file-files-blocks-locations这将打印出文件每个block的位置。NamenodeWebUI也会提供这些信息。在Utilities-->Browsethefilesystem下,选择要查看block信息的文件。 关

java - 在不使用数据 block API 的情况下将数据框保存为文本文件

我不想使用数据blockAPI,因为我们遇到了一些问题。我想在Java1.7、Spark1.6.2中将DF转换为RDD,并将RDD转换为文本文件我希望将我的数据框保存为文本文件,因为我知道如果我们使用Java1.8,下面的代码就可以工作df.rdd.map(row=>row.mkString("\t")).coalesce(1).saveAsTextFile("outputDirRdd")但是我试图将上面相同的代码放入Java1.7中,但我无法获得正确的语法并使用下面的代码。df.toJavaRDD().map(newFunction(){public???call(??input)t