jjzjj

FSDataInputStream

全部标签

java - 在映射器之间共享 FSDataInputStream?

我有一份工作,我想跨多个映射器访问同一个文件。最初我尝试在每个映射器中打开并搜索文件,但事实证明这非常慢。是否可以在run()方法中打开文件(我在其中执行job.SetOutputPath等操作),然后与Mappers共享此打开的文件,以便我没有100个Mappers分别打开同一个文件的令人难以置信的开销? 最佳答案 是的,这实际上是可能的。如果您在作业开始之前设置分布式缓存并向其加载文件,它将自动发送到映射器。示例分布式缓存设置:StringfileLocation;//setthistofileabsolutelocationC

java - 为什么 Hadoop API FSDataInputStream 读取小于缓冲区大小?

我想读取hadoop分布式文件系统上的一个二进制文件。我正在使用FSDataInputStream(它扩展了DataInputStream)。我有长度为"len"的缓冲区。我使用readBytes=stream.read(buffer)方法将文件中的“len”个字节读入缓冲区。但是实际读取的字节数(readBytes)小于缓冲区大小(len),即使我知道文件中存在“len”字节数。那么为什么FSDataInputStream读取的字节数少于我要求它读取的字节数?有什么想法吗? 最佳答案 DataInputStream.read(by

java - FSDataInputStream 是否仅限于创建时已经写入的那些字节?

所以我试图了解HDFS中的一些行为。我的目标是设置一个配置,在该配置中我将FSDataOutputStream打开到某个位置,然后在我写入任何字节之前,我的应用程序的其他部分立即将FSDataInputStream打开到同一位置。我的想法是,当我将字节写入FSDataOutputStream、刷新它们并调用“sync()”时,任何有权访问相同位置的FSDataInputStream的人都应该能够读取这些字节。可悲的是,它似乎并没有那样工作。当我以这种方式设置我的代码时:FSDataOutputStreamwriter=fs.create(newPath("/foo/bar"));FSD

java - 如何从 hdfs 上的文件加载类型安全的 configFactory?

我正在使用类型安全的ConfigFactory将配置加载到我的Scala应用程序中。我不想将配置文件包含到我的jar中,而是从外部hdfs文件系统加载它们。但是,我找不到从hadoop获得的fsDataInputStream对象加载配置的简单方法://getHDFSfilevalhadoopConfig:Configuration=sc.hadoopConfigurationvalfs:FileSystem=org.apache.hadoop.fs.FileSystem.get(hadoopConfig)valfile:FSDataInputStream=fs.open(newPath

csv - 如何从 Hdfs 读取 CSV 文件?

我的数据在CSV文件中。我想读取HDFS中的CSV文件。谁能帮我写代码??我是hadoop的新手。提前致谢。 最佳答案 为此所需的类是FileSystem,FSDataInputStream和Path.客户端应该是这样的:publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstubConfigurationconf=newConfiguration();conf.addResource(newPath("/hadoop/proje

hadoop - "FsDataInputStream in turn wraps a DFSInputStream"在 Hadoop 中读取文件的剖析中意味着什么

我是新来的,这是我的第一个问题。如果我做错了什么,我深表歉意。我一直在阅读TomWhite撰写的Hadoop权威指南。在第3章Hadoop分布式文件系统中,在文件读取的剖析中,我无法理解“FsDataInputStream反过来包装管理数据节点和名称节点I/O的DFSInputStream”是什么意思。请检查此以供引用https://www.inkling.com/read/hadoop-definitive-guide-tom-white-3rd/chapter-3/data-flow我真的很困惑。一个简单的解释将不胜感激。谢谢 最佳答案

java - Hadoop FSDataInputStream重用读取另一个文件

我正在使用FSDataInputStream读取配置文件,想知道我是否需要close()inputStream和fs在读取第二个配置文件之前:FileSystemfs=FileSystem.get(URI.create("file:///path/to/1.conf"),conf);FSDataInputStreaminputStream=fs.open(newPath("file:///path/to/1.conf"));props1.load(inputStream);......FileSystem.get(URI.create("file:///path/to/2.conf")

hadoop - 为什么使用 yarn-client 启动 spark-shell 失败并显示 "java.lang.ClassNotFoundException: org.apache.hadoop.fs.FSDataInputStream"?

我正尝试在家里设置一个集群以满足我的个人需求(学习)。首先我做了Hadoop+Yarn。MR2正在工作。其次-我正在尝试添加Spark但收到有关缺少类的错误。[root@masterconf]#spark-shell--masteryarn-clientExceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/hadoop/fs/FSDataInputStream...Causedby:java.lang.ClassNotFoundException:org.apache.hadoop.fs.FSDataInput

spring - 如何使用原始 InputStream 实例化 FSDataInputStream?

我真的不明白如何创建可搜索和可定位可读的输入流...Resourceresource=newClassPathResource("somefile");InputStreambla=resource.getInputStream();FSDataInputStreaminputStream=newFSDataInputStream(bla);在FS线上throw:java.lang.IllegalArgumentException:InisnotaninstanceofSeekableorPositionedReadable我需要做模拟,这对我来说是个障碍。