Would you provide a code sample of it? I don't know how to do serializer in hadoop.
I am using the following class as type of my "value" object: private static class StringArrayWritable extends ArrayWritable { private StringArrayWritable (String [] aSString) { super (aSString); } } Thanks. Aaron Kimball-3 wrote: > > The text serializer will pull out an entire string by using a null > terminator at the end. > > If you need to know the number of string objects, though, you'll have to > serialize that before the strings, then use a for loop to decode the rest > of > them. > - Aaron > > On Tue, Jun 2, 2009 at 6:01 PM, dealmaker <vin...@gmail.com> wrote: > >> >> Thanks. The number of elements in this array of String is unknown until >> run >> time. If datainput treats it as a byte array, I still have to know the >> size >> of each String. How do I do that? Would you suggest some code samples >> or >> links that deal with similar situation like this? The only examples I >> got >> are the ones about counting number of words which deal with integers. >> Thanks. >> >> >> Aaron Kimball-3 wrote: >> > >> > Hi, >> > >> > You can't just turn either of these two types into arrays of strings >> > automatically, because they are interfaces to underlying streams of >> data. >> > You are required to know what protocol you are implementing -- i.e., >> how >> > many fields you are transmitting -- and manually read through that many >> > fields yourself. For example, a DataInput object is effectively a >> pointer >> > into a byte array. There may be many records in that byte array, but >> you >> > only want to read the fields of the first record out. >> > >> > For DataInput / DataOutput, you can UTF8-decode the next field by >> calling >> > Text.readString(dataInput) and Text.writeString(dataOutput). >> > For ResultSet, you want resultSet.getString(fieldNum) >> > >> > As (yet another) shameless plug ( :smile: ), check out the tool we just >> > released, which automates database import tasks. It auto-generates the >> > classes necessary for your tables, too. >> > http://www.cloudera.com/blog/2009/06/01/introducing-sqoop/ >> > >> > At the very least, you might want to play with it a bit and read its >> > source >> > code so you have a better idea of how to implement your own class >> (since >> > you're doing some more creative stuff like building up associative >> arrays >> > for each field). >> > >> > Cheers, >> > - Aaron >> > >> > On Mon, Jun 1, 2009 at 9:53 PM, dealmaker <vin...@gmail.com> wrote: >> > >> >> >> >> bump. Does anyone know? >> >> >> >> I am using the following class of arraywritable: >> >> >> >> private static class StringArrayWritable extends ArrayWritable { >> >> private StringArrayWritable (String [] aSString) { >> >> super (aSString); >> >> } >> >> } >> >> >> >> >> >> dealmaker wrote: >> >> > >> >> > Hi, >> >> > How do I convert DataInput to array of String? >> >> > How do I convert ResultSet to array of String? >> >> > Thanks. Following is the code: >> >> > >> >> > static class Record implements Writable, DBWritable { >> >> > String [] aSAssoc; >> >> > >> >> > public void write(DataOutput arg0) throws IOException { >> >> > throw new UnsupportedOperationException("Not supported yet."); >> >> > } >> >> > >> >> > public void readFields(DataInput in) throws IOException { >> >> > this.aSAssoc = // How to convert DataInput to String Array? >> >> > } >> >> > >> >> > public void write(PreparedStatement arg0) throws SQLException { >> >> > throw new UnsupportedOperationException("Not supported yet."); >> >> > } >> >> > >> >> > public void readFields(ResultSet rs) throws SQLException { >> >> > this.aSAssoc = // How to convert ResultSet to String Array? >> >> > } >> >> > } >> >> > >> >> > >> >> >> >> -- >> >> View this message in context: >> >> >> http://www.nabble.com/How-do-I-convert-DataInput-and-ResultSet-to-array-of-String--tp23770747p23826464.html >> >> Sent from the Hadoop core-user mailing list archive at Nabble.com. >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/How-do-I-convert-DataInput-and-ResultSet-to-array-of-String--tp23770747p23843679.html >> Sent from the Hadoop core-user mailing list archive at Nabble.com. >> >> > > -- View this message in context: http://www.nabble.com/How-do-I-convert-DataInput-and-ResultSet-to-array-of-String--tp23770747p23861270.html Sent from the Hadoop core-user mailing list archive at Nabble.com.