Ukuran blok XDF hadoop komposit
MapReduce membagi setiap berkas input teks ke satu atau lebih input Split yang secara default HDFS ukuran blok, misalnya 128 MB
-
Setiap input terpisah diubah dari teks dikompresi, unparsed ke dikompresi dan parsing output adalah file biner xdfd di subdirektori "data" direktori output-header info set xdfd di dalam berkas metadata xdfm tunggal di direktori "metadata"
-
Untuk efisiensi dalam analisis berikutnya, setiap file output xdfd kira-kira harus cocok ukuran blok HDFS
-
Untuk mengganti XDF kompresi Anda karena biasanya perlu menambah ukuran file output xdfd dengan meningkatkan input terpisah ukuran menggunakan parameter ini ke RxHadoopMR():
-
hadoopSwitches="-Dmapred.min.split.size=1000000000"
-
Untuk instalasi Hadoop lebih baru menggunakan benang, parameter tidak mapreduce.input.fileinputformat.split.minsize
-
-
Meningkatkan input terpisah ukuran lebih lanjut dapat mengurangi jumlah komposit XDF berkas dan karenanya jumlah pesawat yang diparalelkan peta tugas dalam analisis berikutnya. Hal ini mungkin berguna jika nomor slot peta tersedia atau wadah relatif jumlah split kecil. Sebaliknya, ketika banyak peta slot atau kontainer tersedia, membagi input lebih kecil dan lebih xdfd dapat mengakibatkan cepat penyelesaian.
-
Contoh
Mengimpor CSV input 670 MB di Hortonworks Sandbox menggunakan input asali yang terpisah ukuran (32MB) dibuat 670 32 = 21 xdfd dengan kinerja rxSummary 185". Meningkatkan ukuran input terpisah untuk 150MB xdfd 5 yang dibuat di masing-masing sekitar 32MB dengan kinerja rxSummary 68".
rxSetComputeContext (RxHadoopMR(hadoopSwitches =
"-Dmapreduce.input.fileinputformat.split.minsize=150000000"))
rxImport (myCSV, myCXdf, menimpa = TRUE)
set # rxSetComputeContext(RxHadoopMR()) kembali ketika selesai