I'm not sure what you are expecting since the results are as expected. See the 
javadocs [1] for ArrayWritable.
toStrings() returns a String[] while get() a Writable[]. In other words you get an array of Strings and Writables and neither
implements toString natively.
To get the actual content you have to iterate through the array - to simply print out the array content try java.util.Arrays.toString().

The above is just MapReduce/Java code - fairly straight-forward. I strongly recommend going through the javadocs and playing around with the APIs; if that is not appealing to you than potentially using a higher level abstraction (like Cascading) would make sense over Map/Reduce...

[1] 
https://hadoop.apache.org/docs/current/api/org/apache/hadoop/io/ArrayWritable.html

On 12/3/14 5:29 PM, Elias Abou Haydar wrote:
I've tried to call toStrings()
I got this :
       title : [Ljava.lang.String;@35112ff7

with the get(), i'm getting this:
       title : [Lorg.apache.hadoop.io.Writable;@666f5678

Le mercredi 3 décembre 2014 16:21:40 UTC+1, Costin Leau a écrit :

    You're getting back an array ([Samsung EF-C....]) - a Writable wrapper 
around org.hadoop.io.ArrayWritable (to actually
    allow it to be serialized).
    So call toStrings() or get() to get its content.


    On 12/3/14 3:30 PM, Elias Abou Haydar wrote:
    > I've tried that. It returns a 
org.elasticsearch.hadoop.mr.WritableArrayWritable object. How can I get my field 
content
    > out of that?
    >
    > Le mercredi 3 décembre 2014 14:10:24 UTC+1, Costin Leau a écrit :
    >
    >     That's because your MapWritables doesn't use Strings as keys but 
rather org.apache.hadoop.io.Text
    >     In other words, you can see the data is in the map however you cannot 
retrieve it since you are using the wrong key
    >     (try
    >     inspecting the map object types).
    >
    >     Try values.get(new Text("title"))
    >
    >
    >     On 12/3/14 3:04 PM, Elias Abou Haydar wrote:
    >     > That works fine for me thank you! But I'd also wanted to be able to 
build and object from the MapWritable values in the
    >     > mapper.
    >     >
    >     > Consider values as MapWritable object.
    >     > When I try to get a specified value from values.get("title") per 
example the returning value is null but the field
    >     > exists in the values.keySet()
    >     >
    >     > Considering the following code :
    >     >
    >     > System.out.println(values.keySet());
    >     > System.out.println(values.toString());
    >     > System.out.println("title : " + values.get("title"));
    >     > System.out.println("category : " + values.get("category"));
    >     >
    >     > This is a snippet from the debug output :
    >     >
    >     > [title, categoryId]
    >     > {title=[Samsung EF-CI950BCEGWW S View], categoryId=[3485]}
    >     > title : null
    >     > category : null
    >     >
    >     > Thanks again!
    >     >
    >     > Le mardi 2 décembre 2014 12:36:57 UTC+1, Costin Leau a écrit :
    >     >
    >     >     Simply specify the fields that you are interested in, in the 
query and you are good to go.
    >     >
    >     >     
[1]http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html
    
<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html>
    >     
<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html
    
<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html>>
    >     >     
<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html
    
<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html>
    >     
<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html
    
<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html>>>
    >     >
    >     >     On 12/2/14 12:52 PM, Elias Abou Haydar wrote:
    >     >     > I'm trying to write a mapreduce job where I can query 
elasticsearch so it can return to me specific fields. Is there any
    >     >     > way to do that?
    >     >     >
    >     >     > My mapping contains about 30 fields and I will need just 4 of them 
("_id","title","description","category")
    >     >     >
    >     >     > The way I was doing it is to process each answer to get those 
fields, but I'm looking for a cleaner way to do that.
    >     >     >
    >     >     > Any help or suggestion is appreciated.
    >     >     >
    >     >     > Thanks!
    >     >     >
    >     >     > --
    >     >     > You received this message because you are subscribed to the Google 
Groups "elasticsearch" group.
    >     >     > To unsubscribe from this group and stop receiving emails from 
it, send an email to
    >     >     >[email protected] <javascript:> 
<mailto:[email protected] <javascript:>
    <javascript:>
    >     <javascript:>>.
    >     >     > To view this discussion on the web visit
    >     >     
>https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com
    
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com>
    >     
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com
    
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com>>
    >     >     
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com
    
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com>
    >     
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com
    
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com>>>
    >     >     > 
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com?utm_medium=email&utm_source=footer
    
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com?utm_medium=email&utm_source=footer>

    >     
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com?utm_medium=email&utm_source=footer
    
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com?utm_medium=email&utm_source=footer>>

    >
    >     >     
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com?utm_medium=email&utm_source=footer
    
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com?utm_medium=email&utm_source=footer>

    >     
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com?utm_medium=email&utm_source=footer
    
<https://groups.google.com/d/msgid/elasticsearch/ac512248-b3fe-4023-b28e-a4263ae720ec%40googlegroups.com?utm_medium=email&utm_source=footer>>>>.

    >
    >     >
    >     >     > For more options, visithttps://groups.google.com/d/optout 
<http://groups.google.com/d/optout> <http://groups.google.com/d/optout
    <http://groups.google.com/d/optout>> <https://groups.google.com/d/optout 
<https://groups.google.com/d/optout>
    >     <https://groups.google.com/d/optout 
<https://groups.google.com/d/optout>>>.
    >     >
    >     >     --
    >     >     Costin
    >     >
    >     > --
    >     > You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
    >     > To unsubscribe from this group and stop receiving emails from it, 
send an email to
    >     >[email protected] <javascript:> 
<mailto:[email protected] <javascript:>
    <javascript:>>.
    >     > To view this discussion on the web visit
    >     
>https://groups.google.com/d/msgid/elasticsearch/0b096d2b-4dab-443a-b9ca-cd249a0523d8%40googlegroups.com
    
<https://groups.google.com/d/msgid/elasticsearch/0b096d2b-4dab-443a-b9ca-cd249a0523d8%40googlegroups.com>
    >     
<https://groups.google.com/d/msgid/elasticsearch/0b096d2b-4dab-443a-b9ca-cd249a0523d8%40googlegroups.com
    
<https://groups.google.com/d/msgid/elasticsearch/0b096d2b-4dab-443a-b9ca-cd249a0523d8%40googlegroups.com>>
    >     > 
<https://groups.google.com/d/msgid/elasticsearch/0b096d2b-4dab-443a-b9ca-cd249a0523d8%40googlegroups.com?utm_medium=email&utm_source=footer
    
<https://groups.google.com/d/msgid/elasticsearch/0b096d2b-4dab-443a-b9ca-cd249a0523d8%40googlegroups.com?utm_medium=email&utm_source=footer>

    >     
<https://groups.google.com/d/msgid/elasticsearch/0b096d2b-4dab-443a-b9ca-cd249a0523d8%40googlegroups.com?utm_medium=email&utm_source=footer
    
<https://groups.google.com/d/msgid/elasticsearch/0b096d2b-4dab-443a-b9ca-cd249a0523d8%40googlegroups.com?utm_medium=email&utm_source=footer>>>.

    >
    >     > For more options, visithttps://groups.google.com/d/optout 
<http://groups.google.com/d/optout> <https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>>.
    >     --
    >     Costin
    >
    > --
    > You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
    > To unsubscribe from this group and stop receiving emails from it, send an 
email to
    >[email protected] <javascript:> 
<mailto:[email protected] <javascript:>>.
    > To view this discussion on the web visit
    
>https://groups.google.com/d/msgid/elasticsearch/0362a051-0e5c-4861-96fd-290d131ce726%40googlegroups.com
    
<https://groups.google.com/d/msgid/elasticsearch/0362a051-0e5c-4861-96fd-290d131ce726%40googlegroups.com>
    > 
<https://groups.google.com/d/msgid/elasticsearch/0362a051-0e5c-4861-96fd-290d131ce726%40googlegroups.com?utm_medium=email&utm_source=footer
    
<https://groups.google.com/d/msgid/elasticsearch/0362a051-0e5c-4861-96fd-290d131ce726%40googlegroups.com?utm_medium=email&utm_source=footer>>.

    > For more options, visithttps://groups.google.com/d/optout 
<https://groups.google.com/d/optout>.

    --
    Costin

--
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to
[email protected] 
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/83dfbb85-53e3-47ca-a27b-e0410f4a0565%40googlegroups.com
<https://groups.google.com/d/msgid/elasticsearch/83dfbb85-53e3-47ca-a27b-e0410f4a0565%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

--
Costin

--
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/547F313C.5090601%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to