beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BEAM-2298) Java WordCount doesn't work in Window OS for glob expressions or file: prefixed paths
Date Fri, 07 Jul 2017 21:48:00 GMT

    [ https://issues.apache.org/jira/browse/BEAM-2298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16078745#comment-16078745
] 

ASF GitHub Bot commented on BEAM-2298:
--------------------------------------

GitHub user flaviocf opened a pull request:

    https://github.com/apache/beam/pull/3521

    [BEAM-2298] Making LocalFileSystem default and stripping file spec prefixes.

    Hi @lukecwik, can you please take a look?
    
    Windows OS currently has three problems reading file specs from pipeline options.
    1. The scheme parsing fails to recognize local drive as local filesystem.
    2. It fails if we add “file:” to start of path (also true for Linux)
    3. It doesn’t recognize glob (*) in file matching.
    
    This change fixes problem number 1 and 2, not 3. Because of that, more tests run in Windows
OS start passing, but the glob tests still fail.
    
    The approach is to set LocalFileSystem as default, remove "file:", and get rid of any
forward-slashes in the beginning of paths for Windows OS, since Windows Path Parser rejects
slashes before the drive specification.
    
    From the examples linked in the JIRA issue:
    inputFile=c:/Users/lcwik/Desktop/beamRC4Java/word-count-beam/pom.xml (Still works)
    inputFile=c:/Users/lcwik/Desktop/beamRC4Java/word-count-beam/pom.x* (Still doesn’t work,
because of glob)
    inputFile=file:/c:/Users/lcwik/Desktop/beamRC4Java/word-count-beam/pom.xml (Starts working)
    inputFile=file:///c:/Users/lcwik/Desktop/beamRC4Java/word-count-beam/pom.xml (Starts working)
    


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/flaviocf/beam osbug

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/beam/pull/3521.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3521
    
----
commit 5273be6078da8097bf612cfdd21d51934a399743
Author: Flavio Fiszman <flaviocf@flaviocf-macbookpro.roam.corp.google.com>
Date:   2017-06-30T17:14:34Z

    Adding local filesystem as default and stripping away prefix from local files in pipeline
options.

----


> Java WordCount doesn't work in Window OS for glob expressions or file: prefixed paths
> -------------------------------------------------------------------------------------
>
>                 Key: BEAM-2298
>                 URL: https://issues.apache.org/jira/browse/BEAM-2298
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-core
>            Reporter: Pei He
>            Assignee: Flavio Fiszman
>             Fix For: 2.2.0
>
>
> I am not able to build beam repo in Windows OS, so I copied the jar file from my Mac.
> WordCount failed with the following cmd:
> java -cp beam-examples-java-2.0.0-jar-with-dependencies.jar
>  org.apache.beam.examples.WordCount --inputFile=input.txt --output=counts
> May 15, 2017 6:09:48 AM org.apache.beam.sdk.io.FileBasedSource getEstimatedSizeB
> ytes
> INFO: Filepattern input.txt matched 1 files with total size 0
> May 15, 2017 6:09:48 AM org.apache.beam.sdk.io.FileBasedSource expandFilePattern
> INFO: Matched 1 files for pattern input.txt
> May 15, 2017 6:09:48 AM org.apache.beam.sdk.io.FileBasedSource split
> INFO: Splitting filepattern input.txt into bundles of size 0 took 0 ms and produ
> ced 1 files and 0 bundles
> May 15, 2017 6:09:48 AM org.apache.beam.sdk.io.WriteFiles$2 processElement
> INFO: Finalizing write operation TextWriteOperation{tempDirectory=C:\Users\Pei\D
> esktop\.temp-beam-2017-05-135_13-09-48-1\, windowedWrites=false}.
> May 15, 2017 6:09:48 AM org.apache.beam.sdk.io.WriteFiles$2 processElement
> INFO: Creating 1 empty output shards in addition to 0 written for a total of 1.
> Exception in thread "main" org.apache.beam.sdk.Pipeline$PipelineExecutionExcepti
> on: java.lang.IllegalStateException: Unable to find registrar for c
>         at org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.wait
> UntilFinish(DirectRunner.java:322)
>         at org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.wait
> UntilFinish(DirectRunner.java:292)
>         at org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:200
> )
>         at org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:63)
>         at org.apache.beam.sdk.Pipeline.run(Pipeline.java:295)
>         at org.apache.beam.sdk.Pipeline.run(Pipeline.java:281)
>         at org.apache.beam.examples.WordCount.main(WordCount.java:184)
> Caused by: java.lang.IllegalStateException: Unable to find registrar for c
>         at org.apache.beam.sdk.io.FileSystems.getFileSystemInternal(FileSystems.
> java:447)
>         at org.apache.beam.sdk.io.FileSystems.match(FileSystems.java:111)
>         at org.apache.beam.sdk.io.FileSystems.matchResources(FileSystems.java:17
> 4)
>         at org.apache.beam.sdk.io.FileSystems.filterMissingFiles(FileSystems.jav
> a:367)
>         at org.apache.beam.sdk.io.FileSystems.copy(FileSystems.java:251)
>         at org.apache.beam.sdk.io.FileBasedSink$WriteOperation.copyToOutputFiles
> (FileBasedSink.java:641)
>         at org.apache.beam.sdk.io.FileBasedSink$WriteOperation.finalize(FileBase
> dSink.java:529)
>         at org.apache.beam.sdk.io.WriteFiles$2.processElement(WriteFiles.java:59
> 2)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message