RMIT – School of Science
COSC2633/2637 Big Data Processing Assignment 2019
Aim: design, implement, critically analyze and report on a substantial big data project. Due: 23:59 on Wednesday 16 October 2019 (Week 12)
Marks: This assignment is worth 30% of your overall mark
Requirements:
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.
Deliverables:
• Code, output and logs (15 marks)
o 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:
s3://datasets.elasticmapreduce/ngrams/books/ s3://aws-publicdatasets/common-crawl/
You do NOT have to use these two datasets. The full list of datasets can be found here:
https://registry.opendata.aws/
o 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 evenmore novelty will be given for another similar size dataset available ons3.
o Paths should not be hard-coded.
o As you are required to time your tasks, you should carefully log your experiments on
different sized clusters.
o 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.
1/4
o 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).
o 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 readme.txt.
o 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)
o You are required to write a short report in the style of a conference paper on your
experiments.
o 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
http://www.ieee.org/conferences_events/conferences/publishing/templates.html
However you may provide additional material including references, and appendices containing output, tables, graphs in additional pages.
o Your report must be a PDF file, called sNNNNNNN.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.
o Yourreportshouldincludesectionswhich
1. explain how you implemented your map reduce program;
2. report the experiments undertaken using your programs, report the output and timings;
3. 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?);
4. compare what you have done with the published studies using the same data.
o 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 Yourpresentationmustbeaone-pagePDFfile,called sNNNNNNN.presentation.pdfwheresNNNNNNNisyourstudentnumber.Filesthat do not meet this requirement may not be marked.
o To be conducted during tute/labs in week 12, ONLY students who have submitted their presentations (as sNNNNNNN.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.
2/4
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 (non- trivial) 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.
3/4
What to Submit, When, and How What
You need to submit your source code, output, logfiles, written report and presentation. Before you submit anything, read through the assignment specifications again carefully. Check that you have followed all instructions in the general requirements. Also check that you have attempted all parts of all questions. In particular, you must submit:
1. ONE zip file that contains your MapReduce source files, output, logfiles and the readme.txt file containing any instructions, this should be submitted using the link to Assignment Code, Output and Logs Submission, and
2. ONE(A4portrait)PDFfilecontainingyourreport,thisshouldbesubmittedusingthelink to Assignment Report Submission (it is a turnitin submission), and
3. ONE(A4landscape)PDFfilecontainingasingleslideforyourpresentation(youmayuse whatever software you choose for producing this, so long as the result is a one-page PDF file), this should be submitted using the link to Assignment Presentation Submission.
When
The assignment is due at 23:59 on Wednesday 16 October 2019 (Week 12). The onus is on you to check that your submission has been received.
Late submissions should be submitted using the same procedure but will be penalized by 10% of total possible marks per days for assignments that are late 1 to 5 days late. For assignments that are more than 5 days late, a penalty of 100% will apply. See the course guide for further information.
If you are prevented from submitting your assessment on time, by circumstances outside your control, you may apply for an extension by carefully following the instructions at
http://www1.rmit.edu.au/students/assessment/extension
How
You need to separately submit three files under Assignments on Canvas. You will be scheduled for a time during your tutorial/laboratory class in week 12 to do a two-minute presentation.
4/4