#!/bin/sh
# start multiple jobs in parallel
-target/debug/polarsbop mapbucket 0 &
-target/debug/polarsbop mapbucket 1 &
-target/debug/polarsbop mapbucket 2 &
+# target/debug/polarsbop mapbucket 0 &
+# target/debug/polarsbop mapbucket 1 &
+# target/debug/polarsbop mapbucket 2 &
-wait %1 %2 %3
+# wait %1 %2 %3
-echo done
+# echo mapbucket stage done
+
+target/debug/polarsbop reducebucket 0
+
+# target/debug/polarsbop reducebucket 0 &
+# target/debug/polarsbop reducebucket 1 &
+# target/debug/polarsbop reducebucket 2 &
+# target/debug/polarsbop reducebucket 3 &
+# target/debug/polarsbop reducebucket 4 &
+# target/debug/polarsbop reducebucket 5 &
+# target/debug/polarsbop reducebucket 6 &
+# target/debug/polarsbop reducebucket 7 &
+# target/debug/polarsbop reducebucket 8 &
+
+# wait %4
+
+echo reducebucket stage done
// prep output file
let bucketdir = format!("bucket-{}",bindex);
- create_dir_all(format!("out/{}",bucketdir.clone()))
+ create_dir_all(format!("out/mapbucket/{}",bucketdir.clone()))
.expect("couldn't create out dir");
let outfilename = format!("partition-{}.json",partition);
- let outs3key = format!("{}/{}",bucketdir,outfilename);
- let outfilepath = format!("out/{}/{}",bucketdir,outfilename);
+ let outs3key = format!("mapbucket/{}/{}",bucketdir,outfilename);
+ let outfilepath = format!("out/mapbucket/{}/{}",bucketdir,outfilename);
// println!("{}",outfilepath);
let mut file = File::create(outfilepath.clone())
Ok(())
}
+async fn reduce_bucket(bucket: &str) -> Result<(),PolarsError> {
+ Ok(())
+}
+
#[::tokio::main]
async fn main() -> Result<(),PolarsError> {
map_bucket(partition.as_str()).await
},
+ "reducebucket" => {
+ // expect next arg to be a bucket partition = 0-8
+ let bucket = argsiter.next()
+ .expect("single argument required, 0 - 8");
+
+ reduce_bucket(bucket.as_str()).await
+ },
_ => {
panic!("invalid command");
}