草庐IT

递归图

全部标签

scala - 递归数据框操作

在我的spark应用程序中,我想在循环中对数据帧执行操作并将结果写入hdfs。伪代码:vardf=emptyDataframeforn=1to200000{someDf=read(n)df=df.mergeWith(somedf)}df.writetohdfs在上面的示例中,当“mergeWith”执行unionAll时,我得到了很好的结果。但是,当我在“mergeWith”中进行(简单的)连接时,工作变得非常慢(>1h,有2个执行器,每个执行器有4个内核)并且永远不会完成(工作自行中止)。在我的场景中,我对仅包含~1mb文本数据的文件进行了约50次迭代。因为合并顺序对我来说很重要,我

scala - 使用Spark在hdfs中递归搜索所有文件名

我一直在寻找一种方法来获取Hadoop文件系统(hdfs)中目录及其子目录中的所有文件名。我发现我可以使用这些命令来获取它:sc.hadoopConfiguration.set("mapreduce.input.fileinputformat.input.dir.recursive","true")sc.wholeTextFiles(path).map(_._1)这是“wholeTextFiles”文档:ReadadirectoryoftextfilesfromHDFS,alocalfilesystem(availableonallnodes),oranyHadoop-supporte

recursion - FileStatus 用于递归目录

我有以下目录结构,Dir1|___Dir2|___Dir3|___Dir4|___File1.gz|___File2.gz|___File3.gz子目录只是嵌套的,不包含任何文件我正在尝试使用以下内容在HDFS上的目录中进行递归。如果它是一个目录,我将/*附加到路径和addInputPatharg[0]="path/to/Dir1";//givenatcommandlineFileStatusfs=newFileStatus();Pathq=newPath(args[0]);FileInputFormat.addInputPath(job,q);Pathp=newPath(q.toSt

Hadoop - 从本地到 HDFS 的递归复制/放置

我可以使用hadoopfs-putlocalhdfs从本地复制到HDFS。有没有办法做递归放置?试过-put-r但它不起作用。 最佳答案 试试这个命令hadoopfs-copyFromLocaldocs/*/input/其中/input/是您要存储的HDFS位置的路径。hadoopfs-copyFromLocallocal/*/Hdfs/ 关于Hadoop-从本地到HDFS的递归复制/放置,我们在StackOverflow上找到一个类似的问题: https:/

recursion - Hadoop 适用于递归数据处理

我有一个需要递归应用的过滤算法,我不确定MapReduce是否适合这项工作。W/o放弃太多,我可以说每个被过滤的对象都以一个集合(如果是有序列表或队列)为特征。数据并不大,当我从SQL导出到时大约只有250MBCSV。映射步骤很简单:列表的头部包含一个对象,该对象可以将列表分类为属于N个映射节点之一。每个节点的过滤算法处理分配给该节点的列表集合,在过滤结束时,要么列表保持与过滤前相同,要么删除列表的头部。reduce功能也很简单:所有map作业的列表都放在一起,可能必须写回磁盘。当所有N节点都返回了它们的输出时,将使用这组新数据重复映射步骤。注意:N最多可以有2000个节点。很简单,但

scala - Hadoop 中的快速递归文件夹删除

我正在尝试递归删除HDFS中的文件夹。就像是:fs.delete(路径,真)但是,我要删除的文件夹中包含大量文件。有什么办法可以快速删除文件夹?我的假设是真正的递归不会遍历每个文件并批量删除文件夹,但情况似乎并非如此,因为我可以看到一个一个地删除文件。请告知您的建议。我在EMR-spark上使用scala并尝试删除S3中的文件。 最佳答案 使用java库。Scala与之完全兼容。valfs=FileSystem.get(getConf())fs.delete(newPath("path/to/file"),true)//delete

java - 在spark java api中递归地从HDFS读取所有文件

我正在使用spark从目录及其子目录的单个RDD中读取HDFS中所有文件的数据。我找不到任何有效的方法来做到这一点。所以我尝试编写一些自定义代码,如下所示:publicObjectfetch(Stringsource,Stringsink){//readingdatabooleanisDir=newFile(source).isDirectory();System.out.println("isDir="+isDir);JavaRDDlines;if(isDir){lines=readFiles(newFile(source).listFiles(),null);}elselines=

hadoop - 递归列出 HDFS 文件夹中按文件大小排序的文件

如果我需要递归列出HDFS文件夹中按文件大小排序的文件,有什么脚本可以引用吗?提前致谢,林 最佳答案 bin/hdfsdfs-ls-R/|sort-r-n-k5 关于hadoop-递归列出HDFS文件夹中按文件大小排序的文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/30388330/

java - Hadoop使用Java递归地将fsPermission设置为dir

您好,我有一个测试程序,可以将文件加载到此路径user/user1/data/app/type/file.gz的hdfs中。现在这个测试程序由多个用户运行多次。所以我想给rwx设置文件权限,这样任何人都可以删除这个文件。我有以下代码fs.setPermission(newPath("user/user1/data"),newFsPermission(FsAction.ALL,FsAction.ALL,FsAction.ALL))上一行将drwxrwxrwx授予所有目录,但对于file.gz,它授予-rw-r--r--权限,为什么这样呢?由于这个原因,除我之外的另一个用户无法通过测试程序

hadoop - 如何在新的 Hadoop API 中递归使用目录结构?

我的文件结构如下:/indir/somedir1/somefile/indir/somedir1/someotherfile.../indir/somedir2/somefile/indir/somedir2/someotherfile...我现在想将所有内容递归传递到MR作业中,并且我正在使用新的API。所以我做了:FileInputFormat.setInputPaths(job,newPath("/indir"));但是作业失败了:Error:java.io.FileNotFoundException:Pathisnotafile:/indir/somedir1我正在使用Hado