You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/04/11 06:45:41 UTC

[jira] [Commented] (BEAM-1491) HDFSFileSource should be able to read the HADOOP_CONF_DIR(YARN_CONF_DIR) environment variable

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

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

GitHub user 397090770 opened a pull request:

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

    [BEAM-1491]Identify HADOOP_CONF_DIR(or YARN_CONF_DIR) environment variable when using HDFS

    

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

    $ git pull https://github.com/397090770/beam BEAM-1491

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

    https://github.com/apache/beam/pull/2488.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 #2488
    
----
commit 2a6d01b7c51dfa2e42ebb25414237f2ab95f5dc9
Author: yangping.wu <ya...@qunar.com>
Date:   2017-04-11T06:41:18Z

    [BEAM-1491]Reading configuration from file

----


> HDFSFileSource should be able to read the HADOOP_CONF_DIR(YARN_CONF_DIR) environment variable
> ---------------------------------------------------------------------------------------------
>
>                 Key: BEAM-1491
>                 URL: https://issues.apache.org/jira/browse/BEAM-1491
>             Project: Beam
>          Issue Type: Improvement
>          Components: sdk-java-core
>    Affects Versions: 0.6.0
>            Reporter: yangping wu
>            Assignee: Jean-Baptiste Onofré
>
> Currently, if we want to read file store on HDFS, we will do it as follow:
> {code} 
> PRead.Bounded<KV<LongWritable, Text>> from = Read.from(HDFSFileSource.from("hdfs://hadoopserver:8020/tmp/data.txt", TextInputFormat.class, LongWritable.class, Text.class));
> PCollection<KV<LongWritable, Text>> data = p.apply(from);
> {code}
> or
> {code}
> Configuration conf = new Configuration();
> conf.set("fs.default.name", "hdfs://hadoopserver:8020");
> PRead.Bounded<KV<LongWritable, Text>> from = Read.from(HDFSFileSource.from("/tmp/data.txt", TextInputFormat.class, LongWritable.class, Text.class).withConfiguration(conf));
> PCollection<KV<LongWritable, Text>> data = p.apply(from);
> {code}
> As we have seen above, we must be set {{hdfs://hadoopserver:8020}} in the file path
> if we can initialize {{conf}} by reading {{HADOOP_CONF_DIR}}({{YARN_CONF_DIR}}) environmen variable, then we can read HDFS file like this:
> {code}
> PRead.Bounded<KV<LongWritable, Text>> from = Read.from(HDFSFileSource.from("/tmp/data.txt", TextInputFormat.class, LongWritable.class, Text.class));
> PCollection<KV<LongWritable, Text>> data = p.apply(from);
> {code}
> note we don't specify {{hdfs://hadoopserver:8020}} prefix, because the program read it from  {{HADOOP_CONF_DIR}}({{YARN_CONF_DIR}}) environmen, and the program will read file from HDFS.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)