You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@orc.apache.org by "Owen O'Malley (JIRA)" <ji...@apache.org> on 2016/12/01 19:31:58 UTC
[jira] [Resolved] (ORC-111) Make Java tool support DFS
[ https://issues.apache.org/jira/browse/ORC-111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Owen O'Malley resolved ORC-111.
-------------------------------
Resolution: Fixed
Fix Version/s: 1.3.0
1.2.3
I just committed this. Thanks, Junegunn!
> Make Java tool support DFS
> --------------------------
>
> Key: ORC-111
> URL: https://issues.apache.org/jira/browse/ORC-111
> Project: Orc
> Issue Type: Improvement
> Components: Java
> Reporter: Junegunn Choi
> Assignee: Junegunn Choi
> Fix For: 1.2.3, 1.3.0
>
> Attachments: ORC-111.patch
>
>
> Java tool currently does not work with HDFS paths:
> {noformat}
> $ mvn clean package -DskipTests
> $ export UBERJAR=tools/target/orc-tools-1.3.0-SNAPSHOT-uber.jar
> $ java -jar $UBERJAR meta hdfs://nn-host/foobar.snappy.orc
> log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
> log4j:WARN Please initialize the log4j system properly.
> log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
> Exception in thread "main" java.io.IOException: No FileSystem for scheme: hdfs
> at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2584)
> at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2591)
> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
> at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2630)
> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2612)
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:370)
> at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
> at org.apache.orc.tools.FileDump.getAllFilesInPath(FileDump.java:248)
> at org.apache.orc.tools.FileDump.main(FileDump.java:121)
> at org.apache.orc.tools.Driver.main(Driver.java:100)
> {noformat}
> This is because DistributedFileSystem is not registered as a subclass of FileSystem SPI.
> {noformat}
> $ unzip -p tools/target/orc-tools-1.3.0-SNAPSHOT-uber.jar META-INF/services/org.apache.hadoop.fs.FileSystem
> # ...
> org.apache.hadoop.fs.LocalFileSystem
> org.apache.hadoop.fs.viewfs.ViewFileSystem
> org.apache.hadoop.fs.ftp.FTPFileSystem
> org.apache.hadoop.fs.HarFileSystem
> {noformat}
> We can fix this by simply adding containerDescriptorHandler to the assembly descriptor. Now the same command gives:
> {noformat}
> org.apache.hadoop.fs.LocalFileSystem
> org.apache.hadoop.fs.viewfs.ViewFileSystem
> org.apache.hadoop.fs.ftp.FTPFileSystem
> org.apache.hadoop.fs.HarFileSystem
> org.apache.hadoop.hdfs.DistributedFileSystem
> org.apache.hadoop.hdfs.web.HftpFileSystem
> org.apache.hadoop.hdfs.web.HsftpFileSystem
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem
> org.apache.hadoop.hdfs.web.SWebHdfsFileSystem
> {noformat}
> and we can use the uberjar with HDFS paths.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)