Hi all,

Last week Pedro, myself and Mircea met at London to start prototyping the 
integration between Hadoop and ISPN. 

We discussed several scenarios where Hadoop and ISPN would be able to work 
together, and decided to start with ISPN server as the source and/or sink for a 
Hadoop Map Reduce job

After creating an InputFormat and OutputFormat for ISPN [1], we generated some 
data [2] and run a sample job [3] using Hadoop v1.x, both in docker [4] and on 
a 4 node physical cluster (installed with the help of puppet [5]) 

We also run the same job in the same cluster with the same data, but using HDFS 
as data source and sink, so that we could verify correctness.

In this setup, each Hadoop slave runs the TaskTracker, Data node and ISPN 
server, and the idea was to generate a split [6] based on segments and redirect 
the map task to be executed on the nodes associated with those segments. This 
routing and filtering the data is still work in progress, carried on by Pedro.

Next steps? 

- For sure optimise the current Input/OutputFormat so that it can efficiently 
read/write data. This will allow ISPN to become part of the Hadoop ecosystem 
and easier to integrate it with tools like Apache Hive [7] or Pig [8].  
- Investigate closer integration for Map Reduce, potentially usable in library 
mode. As you might know, YARN (the overhaul of Hadoop architecture) is not only 
about Map Reduce, and it offers more extensions points than Hadoop Map Reduce v1
- I read with great interest the Spark paper [9]. Spark provides a DSL with 
functional language constructs like map, flatMap and filter to process 
distributed data in memory. In this scenario, Map Reduce is just a special case 
achieved by chaining functions [10]. As Spark is much more than Map Reduce, and 
can run many machine learning algorithms efficiently, I was wondering if we 
should shift attention to Spark rather than focusing too much on Map Reduce. 
Thoughts?


[1] 
https://github.com/pruivo/infinispan-hadoop-integration/tree/master/src/main/java/org/infinispan/hadoopintegration/mapreduce
[2] 
http://www.skorks.com/2010/03/how-to-quickly-generate-a-large-file-on-the-command-line-with-linux/
[3] 
https://github.com/pruivo/hadoop-wordcount-example/tree/master/src/main/java/com/gustavonalle/hadoop
[4] https://github.com/gustavonalle/docker/tree/master/hadoop
[5] https://gist.github.com/gustavonalle/95dfdd771f31e1e2bf9d
[6] 
https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/InputSplit.html
[7] https://hive.apache.org/
[8] http://pig.apache.org/
[9] http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf
[10] https://spark.apache.org/docs/0.9.0/quick-start.html#more-on-rdd-operations
   
Cheers,
Gustavo
_______________________________________________
infinispan-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to