RMIT - School of Science
COSC2633/2637 Big Data Processing
Aim: design, implement, critically analyze and report on a substantial big data project.
Using a big public AWS dataset, you are asked to write a MapReduce program which undertakes an interesting new analysis of the data. Compare the performance of your program using different size clusters. Note this is an individual assignment.
- Code, output and logs (15 marks)
- You must use AWS EMR (such as provided by RMIT through this course) for running your MapReduce program (which may be developed on any machine) and accessing one (or more) of the public data sets in S3, such as:
You do NOT have to use these two datasets. The full list of datasets can be found here:
- In choosing a dataset(s) and analysis to undertake, a combination of the two factors may contribute to novelty: (i) difficulty of analysis task, (ii) for a similar difficulty of analysis task, more novelty will be given for using the common-crawl instead of ngrams, and even more novelty will be given for another similar size dataset available on s3.
- Paths should not be hard-coded.
- As you are required to time your tasks, you should carefully log your experiments on different sized clusters.
- Your MapReduce program(s) must be well written, using good coding style and including appropriate use of comments. The assignment markers will look at your source code. Coding style will form a small part of the assessment of this assignment. o You should provide instructions with your code on how to compile and execute it. If the assignment marker cannot compile your programs, you risk yielding zero marks for the coding component of your assignment.
- Depending on the size of output your MapReduce program generates, you may choose or need to submit only samples of the output (in which case you should also provide a complete summary of all the output).
- Depending on your implementation, you may wish to provide additional information about your code. If so, put this information into a plain text file called txt.
- You can use either Java, Python, Hive or Pig to develop your MapReduce program over AWS EMR.
- Results of experiments and written report (10 marks)
- You are required to write a short report in the style of a conference paper on your experiments.
- The text of the report should be only TWO A4 pages (not including references and appendices), using the IEEE conference template for Word or LaTex
However you may provide additional material including references, and appendices containing output, tables, graphs in additional pages.
- Your report must be a PDF file, called report.pdf, where sNNNNNNN is your student number. Files that do not meet this requirement may not be marked. Your report must be well- written.
- Your report should include sections which
- explain how you implemented your map reduce program;
- report the experiments undertaken using your programs, report the output and timings;
- discuss your results and critically analyze the scalability of your approach as more nodes are added to the cluster (are the results as you expected?);
- compare what you have done with the published studies using the same data.
- Important: Your report will be marked on the quality of your written explanations and analysis. After writing your report you should carefully revise it checking for clarity of expression and quality of writing.
- Presentation (5 marks) o Your presentation must be a one-page PDF file, called presentation.pdf where sNNNNNNN is your student number. Files that do not meet this requirement may not be marked.
- To be conducted during tute/labs in week 12, ONLY students who have submitted their presentations (as presentation.pdf) when due 11:59 pm on Tues- day 9 October 2018 will be eligible to present in class. Students must attend their scheduled tute/lab and be ready to present at their allocated time.
Additional general requirements: The following contains information about other requirements that your assignment must meet. Please read all these general requirements carefully before you start.
The “Big Data Processing” Canvas contains further announcements and answers to questions. You are expected to check the discussion section on regular basis. Login through https://rmit.instructure.com.
Warning: Assignments will be checked with plagiarism-detection software; any student found to have plagiarized will be subject to disciplinary action as described in the course guide. Plagiarism includes submitting code that is not your own or sub- mitting text that is not your own — except where your sources are referenced, AND it is clear, for example by quotation marks, what is your original work and what has been quoted from others. Submitting one comment in your code or a sentence from someone else’s report is plagiarism, and plagiarism includes submitting work from previous years. Allowing others to copy your work is also plagiarism. All plagiarism will be penalized; there are no exceptions and no excuses. For further information, please see: http://www1.rmit.edu.au/students/academic-integrity
Marking criteria: an excellent assignment will include the following:
- Program code that meets assignment requirements and undertakes an interesting (nontrivial) original analysis of data, executes correctly, and is well written;
- Output that thoroughly demonstrates the program works correctly;
- Log files indicating that scalability of results has been extensively explored;
- A written report that provides an excellent detailed explanation of how you implemented your mapreduce program to undertake an interesting new analysis of the data, including discussion and interpretation of your output and a thorough set of experiments to address the scalability of your approach, as well as a critical analysis of your approach in the context of the theory in the course;
- A presentation using a well prepared single slide such that the oral presentation of the slide clearly presents novel achievements and engages well with the audience.