草庐IT

java - 想上传一个文件到一个文件夹,获取上传的文件名

这是我使用servlet和jsp上传文件的java代码:publicclassUploadextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;publicvoidinit()throwsServletException{System.out.println(this.getClass().getName());}protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExcep

java - 运行 Hadoop MapReduce 作业时获取文件名/文件数据作为 Map 的键/值输入

我完成了问题HowtogetFilename/FileContentsaskey/valueinputforMAPwhenrunningaHadoopMapReduceJob?这里。虽然它解释了这个概念,但我无法成功地将它转换为代码。基本上,我希望文件名作为键,文件数据作为值。为此,我按照上述问题中的建议编写了自定义RecordReader。但是我无法理解如何将文件名作为此类中的键。此外,在编写自定义FileInputFormat类时,我无法理解如何返回我之前编写的自定义RecordReader。RecordReader代码是:importjava.io.IOException;imp

hadoop - 如何从 pyspark rdd 或分区确定原始 s3 输入文件名

我正在使用pyspark流式处理来自S3的ETL输入文件。我需要能够建立所有原始输入文件的审计线索在s3://上,我的Parquet输出在hdfs://上结束。给定一个dstream、rdd,甚至是一个特定的rdd分区,是否有可能确定s3中输入数据的原始文件名?目前我知道的唯一方法是采取rdd.toDebugString()并尝试解析它。然而,这感觉真的很hacky并且不在某些情况下工作。例如,解析调试输出对我的批处理模式导入不起作用我也在做(使用sc.TextFile("s3://...foo/*")样式的glob)。有没有人有确定原始文件名的明智方法?似乎其他一些spark用户过去

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

hadoop - 在 hadoop 中,有没有办法获取 hdfs block 的底层文件系统文件名?

我了解到hdfs将其文件作为数据block存储在数据节点上,每个block实际上作为文件存储在每个数据节点的本地文件系统中。所以我想知道在给定hdfs文件名的情况下,是否有办法在本地文件系统中获取hdfsblock的实际文件名。谢谢。 最佳答案 您可以对您想到的文件使用Hadoop的FSCK命令。这将返回主机名和block名。但是,它不提供本地文件系统上文件的完整路径。$hadoopfsck/path/to/file-files-blocks-locations另一种选择是通过HDFSWebUI。如果浏览到每个文件,它将列出bloc

Hadoop:如何生成自定义减少输出文件名?

现在,我使用MultipuleOuputs。我想从reducer的输出文件名中删除后缀字符串“-00001”,例如“xxxx-[r/m]-00001”。有什么想法吗?谢谢。 最佳答案 来自Hadoopjavadoctothewrite()methodofMultipleOutputs:OutputpathisauniquefilegeneratedforthenamedOutput.Forexample,{namedOutput}-(m|r)-{part-number}所以你需要在HDFS上重命名或合并这些文件。

java - 如何在 HADOOP 运行时生成多个文件名?

我有一些csv格式的数据。例如K1,K2,data1,data2,data3这里我的映射器将key作为K1K2传递给reducer&值为data1,data2,data3我想将此数据保存在文件名为K1k2(或reducer获取的key)的多个文件中。现在,如果我使用MultipleOutputs类,我必须在映射器开始之前提及文件名。但是在这里,因为只有从mapper读取数据后,我才能确定key。我应该如何进行?PS我是新手。 最佳答案 您可以像这样生成文件名并将它们传递给Reducer中的MultipleOutputs:public

http - 通过 StreamSets Data Collector 流式传输时在文件名中附加 UUID

我正在使用HttpClientorigin将文件从HTTPurl流式传输到Hadoop目标,但目标中的文件名附加了一些随机uuid。我希望文件名与源中的一样。示例:源文件名为README.txt,目标文件名为README_112e5d4b-4d85-4764-ab81-1d7b6e0237b2.txt我希望目标文件名为README.txt我会向您展示我的配置。HTTPClient:GeneralName:HTTPClient1Description:OnRecordError:SendtoErrorHTTPResourceURL:http://files.data.gouv.fr/si

python - 使用python从HDFS获取文件名列表

这里是Hadoop菜鸟。我已经搜索了一些关于hadoop和python入门的教程,但没有太大的成功。我还不需要对映射器和缩减器做任何工作,但这更像是一个访问问题。作为Hadoop集群的一部分,HDFS上有一堆.dat文件。为了使用Python访问我的客户端(本地计算机)上的这些文件,whatdoIneedtohaveonmycomputer?HowdoIqueryforfilenamesonHDFS?任何链接也会有帮助。 最佳答案 据我所知,没有开箱即用的解决方案,我发现的大多数答案都采用了调用hdfs命令.我在Linux上运行,并

FileInputFormat,其中文件名是 KEY,文本内容是 VALUE

我想将整个文件用作MAP处理的单个记录,文件名作为键。我已阅读以下帖子:HowtogetFilename/FileContentsaskey/valueinputforMAPwhenrunningaHadoopMapReduceJob?虽然最佳答案的理论是可靠的,但实际上没有提供代码或“操作方法”。这是我自定义的FileInputFormat和相应的RecordReader,它们编译,但不产生任何记录数据。谢谢你的帮助。publicclassCommentsInputextendsFileInputFormat{protectedbooleanisSplitable(FileSyste