[SOLVED] comp90024 - Cluster and Cloud  -   Computing  Assignment  2   -   City Analytics  on  the  Cloud        

35.00 $

Programming resource
Digital learning resource
Category:
✓ Practical programming resource
✓ Suitable for guided study and reference
✓ Tutor guidance available when needed

Description

5/5 - (1 vote)

Background

In            development    and        delivery               of            non-trivial          software             systems,              working                as            part       of            a              team     is             generally             (typically!)        the         norm.   This                assignment        is             very      much    a              group    project. Students              will        be           put         into                software             teams   to            work     on           the         implementation              of            the         system                described            below.                  These    will        be           teams   of            up           to            5             students.                In            this        assignment,       students              need      to            organize              their      team     and        their                collective            involvement     throughout.       There    is             no           team     leader   as            such,     but                teams   may       decide  to            set          up           processes            for          agreeing              on           the         work                and        who       does      what.    Understanding the         dependencies    between              individual                efforts  and        their      successful           integration         is             key        to            the         success of            the                work     and        for          software             engineering        projects               more     generally.            If                teams   have      “issues”,               then       please   let           me         know    asap       and        I              will        help                resolve them.

 

Assignment

The        software             engineering        activity builds   on           the         lecture materials            describing                Cloud    systems               and        especially           the         UniMelb              Research             Cloud    and        its                use         of            OpenStack;        on           data       from     the         Twitter APIs,     and        CouchDB             and                the         kinds     of            data       analytics             (e.g.       MapReduce)      that        CouchDB             supports                as            well       as            data       from     the         Australian           Urban   Research             Infrastructure                Network             (AURIN                –             https://portal.aurin.org.au).      The        focus     of            this                assignment        is             to            harvest tweets  from     across   the         cities     of            Australia             on                the         UniMelb              Research             Cloud    and        undertake           a              variety of            social                media   data       analytics             scenarios            that        tell         interesting          stories  of            life         in                Australian           cities     and       importantly       how       the         Twitter data       can         be           used                alongside/compared     with/augment  the         data       available             within  the         AURIN  platform                to            improve              our         knowledge         of            life         in            the         cities     of            Australia.                Teams  can         download           data       from     the         AURIN  platform,            e.g.         as            JSON,    CSV                or           Shapefiles,          or           using     the         AURIN  openAPI              (https://aurin.org.au/aurin-apis/).                This       data       can/should        be           included              into        the         team’s  CouchDB             database                for          analysis               with      Twitter data.

 

The        teams   should  develop               a              Cloud-based      solution               that        exploits                a                multitude           of            virtual  machines            (VMs)   across   the         UniMelb              Research                Cloud    for          harvesting          tweets  through               the         Twitter APIs      (using   both      the                Streaming           and        the         Search  API        interfaces).        The        teams   should  produce               a                solution               that        can         be           run         (in          principle)           across   any        node      of            the                UniMelb              Research             Cloud    to            harvest and        store     tweets  and        scale      up/down                as            required.             Teams  have      been      allocated             4             servers (instances)         with      8                virtual  CPUs     and        500Gb  of            volume storage.                All          students              have      access   to                the         UniMelb              Research             Cloud    as            individual           users     and        can         test/develop                their      applications       using     their      own       (small) VM         instances,            e.g.         using     personal                instances             such      as            pt-1234.              (Remembering that        there     is             no           persistence                in            these     small,    free        and        dynamically      allocated             VMs).

 

The        solution               should  include a              Twitter harvesting          application         for          any/all of            the                cities     of            Australia.            The        teams   are         expected             to            have      multiple                instances             of            this        application         running                on           the         UniMelb              Research                Cloud    together              with      an           associated          CouchDB             database              containing          the                amalgamated    collection           of            Tweets from     the         harvester            applications.      The                CouchDB             setup     may       be           a              single    node      or           based    on           a              cluster                setup.    The        system should  be           designed              so           that        duplicate             tweets  will        not                arise.

 

Students              may       want     to            explore other     sources                of            data       they       find        on           the                Internet,              e.g.         information       on           weather,              sport     events, TV          shows,  visiting                celebrities,         stock     market rise/falls,            official statistics              on           Covid-19             however                these     are         not         compulsory       to            complete            the         work.    A             large      corpus  of                Twitter posts     will        be           made    available             for          data       analytics,            but         again                teams   may       decide  that        they       only       wish      to            focus     on           Twitter data       that        they                collect.

 

Teams  are         expected             to            develop               a              range    of            analytic               scenarios,           e.g. using     the         MapReduce        capabilities        offered by           CouchDB             for          social    media   analytics and        comparing         the         data       with      official data       from     AURIN. Teams  are         free        to explore any        scenarios            that        connect               “in          some     way”     to            the         AURIN  data. Teams  are         encouraged        to            be           creative               here.      A             prize     will        be           awarded for          the         most      interesting         scenarios            identified!

For         example              teams   may       look       at            scenarios            such      as:

  • How many    tweets  mention              Covid-19             or           coronavirus       and        are         these clustered             in            certain areas,

e.g.      rich        vs           poor      suburbs               or           in            statistical            areas     where   there     are             more/less           hospitals             etc?

  • What do           the         movement         patterns               of            people  look       like        before  Covid-19, during  and        after      lockdown           etc?
  • Which suburb has         the         most     tweeters              and        does      this        correlate             with      what we          might    expect  from     the         population         demographic    of            the         suburb from AURIN, g.         more     young   people  live        in            a              given     area       so           we          might expect  a              proportionate   increase               in            the         number               of            tweets  (assuming young   people  tweet    more)?
  • Do the         different              languages            used      when    tweeting              correlate             with      the cultures               we          would   expect  to            find        in            those     areas,    g.         more     Chinese live        in            Box        Hill         in            Melbourne         hence    we          would   expect  to            see         for tweets  tagged  as            Chinese                from     those     suburbs,              or           Italians in            Carltonetc?
  • Is there     a              correlation         between              crime    related tweets  and        official crime statistics              across   the         suburbs               of            Melbourne?
  • Is there     a              correlation         between              alcohol related tweets  or           crime    and locations             of            places   to            buy        alcohol (bottleshops)?
  • Does language              use,        g.         vulgar   words   used      in            Twitter happen more     or           less in            wealthy               or           poor      areas?

 

The        above   are         examples            –             students              may       decide  to            create   their      own                analytics             based    on           the         data       they       obtain.  Students              are         not         expected                to            build     advanced            “general               purpose”             data       analytic               services               that                can         support                any        scenario              but         show     how       tools      like        CouchDB             with                targeted               data       analysis               capabilities        like        MapReduce        when    provided             with                suitable                inputs   can         be           used      to            capture                the         essence                of            life                in            Australia.

 

A             front-end            web       application         is             required              for          visualising          these     data                sets/scenarios.

 

For         the         implementation,             teams   are         recommended to            use         a              commonly                understood        language              across   team     members            –             most     likely    Java       or                Python. Information      on           building               and        using     Twitter harvesters          can         be                found    on           the         web,      e.g.         see         https://dev.twitter.com/           and        related links      to                resources            such      as            Tweepy               and        Twitter4J.           Teams  are         free        to            use                any        pre-existing       software             systems               that        they       deem    appropriate       for          the                analysis               and        visualisation      capabilities,       e.g.         Javascript           libraries,              Googlemaps                etc.

 

Error   Handling

Issues   and        challenges          in            using     the         UniMelb              Research             Cloud    for          this                assignment        should  be           documented.     You        should  describe              the         limitations         of                mining twitter content and        language              processing          (e.g.       sarcasm).            You        should                outline any        solutions             developed          to            tackle   such      scenarios.           The        database                may       however             contain re-tweets.           You        should  demonstrate     how       you        tackled                working              within  the         quota    imposed              by           the         Twitter APIs      through               the                use         of            the         Cloud.

 

Resource details

Understand the Task Before You Use the Resource

Review the requirements, identify the programming concepts involved, study the implementation and test your understanding with your own examples and modifications.