Mengubah Scheme Sumber File


Dengan mengubah sebuah scheme sumber file kita dapat mengoptimasi program map dan reduce pada hadoop. Sebagai contoh, jika kita mempunyai sekumpulan file dan ingin mengambil sebuah kontent file tidak beraturan isinya  secara langsung, maka kita harus buat sebuah sequence file yang berisi path dan isi file tersebut. Cara ini tentu saja membuat hardisk kita menjadi penuh. Untuk itu lebih baik kita langsung melakukkan parsing saat source tersebut sebelum proses map dilakukan. Kita dapat melakukan  pada method overriding source sbb :
import cascading.scheme.TextLine;
import cascading.tuple.Tuple;
import cascading.tuple.Fields;
public class INEXScheme extends TextLine {
    public INEXScheme (Fields newFieldsname)
    {
        super(newFieldsname);
    }

    public INEXScheme ()
    {
       super();
    }
     @Override
      public Tuple source(final Object key, final Object value) {
          Tuple tuple = new Tuple();
           if(value.toString().matches(“<title>.*</title>”))
               {
               String title = new String(value.toString().substring(7, value.toString().length()-8));
               tuple.add(title);
            return (tuple);
               }
            else
              return(null);
      }

}
Pada file utama(main) kita dapat memanggil scheme buatan kita dengan cara :
Tap XMLFiles= new Hfs( new INEXScheme(new Fields(“x”)), args[ 0 ] );
Cukup simple bukan ?

  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s