Hey Anty,

there exists a config key 'map.input.file' which should return the name of the input file the mapper gets its input values from. In the pre-hadoop-0.20.0 era, one would have to implement the configure() method to have access to the configuration. Since then, it could be possible to use the configuration from the context object. However, if your input files aren't sorted in any way, this approach won't work.

Best Regards
Thomas


Anty schrieb:
Thanks very much for your reply Thomas.
I search in Mapper.map() method,but i still can't find out the way to retrieve the source file name of the input data,can you describe in more details?
for your proposed suggestion,i have some doubts,
the names of the three files are random,so we couldn't sort the values by file name,which will not correspond to the order of (value1A,value1B,value1C),e.g
"bbbb"                  "aaaa"                   "ccccc"

key1-value1A      key1-value1B     key1-value1C

then if we sort the value by file name,the result will be "key1-(value1B,value1A,
value1C)" or "key1-(value1C,value1A,value1B)"
Maybe i should use some particular rules to sort the values.
Thanks Thomas.


On Mon, Oct 26, 2009 at 11:36 PM, Anty <[email protected] <mailto:[email protected]>> wrote:

    Thanks very much for your reply Thomas.
    I search in Mapper.map() method,but i still can't find out the way
    to retrieve the source file name of the input data,can you describe
    in more details?
    for your proposed suggestion,i have some doubts,
    the names of the three files are  random,so we couldn't sort the
    values by file name,which will not correspond  to the order of
    (value1A,value1B,value1C),e.g
    "bbbb"                  "aaaa"                   "ccccc"

    key1-value1A      key1-value1B     key1-value1C

    then if we sort the value by file name,the result will be
    "key1-(value1B,value1A,value1C)" or "key1-(value1C,value1A,value1B)"
    Maybe i should use some particular rules to sort the values.
    Thanks Thomas.


    Up to now i don't know how to retrieve the source file name of the
    input data within Mapper.map() method,.Anyway,i have some doubts
    about your proposed suggestion.


    On Mon, Oct 26, 2009 at 8:59 PM, Thomas Thevis
    <[email protected] <mailto:[email protected]>> wrote:

        Hi Anty,

        as far as I know, it is possible to retrieve the source file
        name of the input data within the Mapper's map() method.
        If so, you could use secondary sort on values (have a look at
        the Hadoop wiki pages) to propagate the values sorted first by
        key and second by filename to the Reducer which could aggregate
        them in any particukar way.

        Hope that helps
        Thomas


        Anty schrieb:

            Does MultipleInputs meet this situation?
            Does any one have any idea about this?

            On Mon, Oct 26, 2009 at 7:44 PM, Anty <[email protected]
            <mailto:[email protected]> <mailto:[email protected]
            <mailto:[email protected]>>> wrote:

               Hi:
               all
               I have a such use case:i have three files,each file is
            key-value pairs,
file1: file2: file3:
               key1-value1A           key1-value1B           key1-value1C
               key2-value2A           key2-value2B           key2-value2C
               key3-value3A           kye3-value3B           kye3-value3C
..... ...... .....
               now ,i want to write a MR job to generate a file,
               file4:
               key1-(value1A,value1B,value1C)
               key2-(value2A,value2B,value2C)
               key3-(value3A,value3B,value3C)
               ..........
               Any suggestion will be appreciated.
               --    Best Regards
               Anty Rao




-- Best Regards
            Anty Rao





-- Best Regards
    Anty Rao




--
Best Regards
Anty Rao


--
Thomas Thevis
Software Developer
------------------------------------------------------------
vionto GmbH
Karl-Marx-Allee 90a, D-10243 Berlin

fon   +49 30 40 20 3 29 - 28
fax   +49 30 40 20 3 29 - 29
web   http://www.vionto.com
------------------------------------------------------------
Geschäftsführer: Ralf von Grafenstein, Dr. Martin C. Hirsch
Sitz der Gesellschaft: Berlin
Amtsgericht Berlin Charlottenburg, HRB 108054B
------------------------------------------------------------

Reply via email to