You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Stephen Sisk (JIRA)" <ji...@apache.org> on 2017/04/25 22:46:04 UTC
[jira] [Commented] (BEAM-2031) Hadoop FileSystem needs to receive
Hadoop Configuration through PipelineOptions
[ https://issues.apache.org/jira/browse/BEAM-2031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15983776#comment-15983776 ]
Stephen Sisk commented on BEAM-2031:
------------------------------------
We need to allow users to pass in Configuration for hadoop - it's the way to set up connection info/etc.. (Configuration is the hadoop class that manages this - kinda sorta similar to PipelineOptions, but it is more like a generic bag than ours)
From a reading of the Configuration source code, Configuration objects can store int/float/bool/etc..., but those are ultimately stored as strings.
In both scenarios it seems useful to handle the configuration as a simple flat json map, so the user would pass in the configuration like so:
--hdfsConfiguration={
'fs.default.name': 'hdfs://my-host:8020/,
'another-key': 'value',
'a-third-key': 'another-value'}
in line in a larger commandline:
mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \
-Dexec.args="--runner=DataflowRunner \
--inputFile=hdfs://my-host/shakespeare/* --output=hdfs://my-host/counts \
--hdfsConfiguration={'fs.default.name': 'hdfs://my-host:8020/, 'another-key': 'value', 'a-third-key': 'another-value'} \
-Pdataflow-runner
I propose handling the PipelineOption type as Map<String, String> and then we call set for each key/value pair.
I'm going to test this out to see if there are any holes in my understanding of how this all works.
cc [~davor]
> Hadoop FileSystem needs to receive Hadoop Configuration through PipelineOptions
> -------------------------------------------------------------------------------
>
> Key: BEAM-2031
> URL: https://issues.apache.org/jira/browse/BEAM-2031
> Project: Beam
> Issue Type: Sub-task
> Components: sdk-java-extensions
> Reporter: Stephen Sisk
> Assignee: Stephen Sisk
> Fix For: First stable release
>
>
> Since Beam FileSystem objects are configured via PipelineOptions, we need to pass a Hadoop Configuration through PipelineOptions. I think that's very solvable, but it does seem semi-complicated.
> cc [~peihe0@gmail.com] I believe you mentioned in the past that you had an answer to this - is that written down anywhere?
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)