| digraph g { |
| |
| graph [compound = true]; |
| |
| //presentation |
| splines = true; |
| overlap = false; |
| rankdir = TB; |
| |
| subgraph cluster_generators { |
| label="generators"; |
| generators_youtube [label="https://api.youtube.com"] |
| generators_instagram [label="https://api.instagram.com"] |
| } |
| |
| subgraph cluster_providers { |
| label="providers"; |
| subgraph cluster_providers_youtube { |
| label="youtube"; |
| providers_youtube_channel [label="YoutubeChannelProvider"] |
| providers_youtube_video [label="YoutubeUserActivityProvider"] |
| } |
| subgraph cluster_providers_instagram{ |
| label="instagram"; |
| providers_instagram_userinfo [label="InstagramUserInfoCollector"] |
| providers_instagram_media [label="InstagramRecentMediaCollector"] |
| } |
| } |
| |
| subgraph cluster_processors { |
| label="processors"; |
| processors_youtube_activity [label="YoutubeTypeConverter"] |
| processors_youtube_activityobject [label="YoutubeTypeConverter"] |
| processors_instagram_activity [label="InstagramTypeConverter"] |
| processors_instagram_activityobject [label="InstagramTypeConverter"] |
| } |
| |
| subgraph cluster_persisters_1 { |
| label="persisters"; |
| persisters_kinesis_writer [label="KinesisPersistWriter"] |
| persisters_kinesis_writer [label="KinesisPersistWriter"] |
| } |
| |
| subgraph cluster_queues { |
| label="queues"; |
| kinesis [label="kinesis://", shape="trapezium"] |
| } |
| subgraph cluster_persisters_2 { |
| label="persisters"; |
| persisters_elasticsearch [label="ElasticsearchPersistWriter"] |
| persisters_hdfs [label="WebHdfsPersistWriter"] |
| persisters_kinesis_reader [label="KinesisPersistReader"] |
| persisters_kinesis_reader [label="KinesisPersistReader"] |
| } |
| |
| subgraph cluster_dbs { |
| label="dbs"; |
| elasticsearch [label="elasticsearch", shape="cylinder"] |
| hdfs [label="hdfs", shape="tab"] |
| } |
| |
| generators_youtube -> providers_youtube_channel |
| generators_youtube -> providers_youtube_video |
| providers_youtube_channel -> processors_youtube_activityobject [label="o.a.s.y.Channel"] |
| providers_youtube_video -> processors_youtube_activity [label="o.a.s.y.Video"] |
| |
| generators_instagram -> providers_instagram_userinfo |
| generators_instagram -> providers_instagram_media |
| providers_instagram_userinfo -> processors_instagram_activityobject [label="o.a.s.i.UserInfoData"] |
| providers_instagram_media -> processors_instagram_activity [label="o.a.s.i.MediaFeedData"] |
| |
| processors_youtube_activityobject -> persisters_kinesis_writer [label="o.a.s.p.j.Page"] |
| processors_youtube_activity -> persisters_kinesis_writer [label="o.a.s.p.j.Video\no.a.s.p.j.Comment"] |
| processors_instagram_activityobject -> persisters_kinesis_writer [label="o.a.s.p.j.Page"] |
| processors_instagram_activity -> persisters_kinesis_writer [label="o.a.s.p.j.Photo\no.a.s.p.j.Video\no.a.s.p.j.Comment"] |
| |
| persisters_kinesis_writer -> kinesis -> persisters_kinesis_reader [label="o.a.s.p.j.Activity"] |
| persisters_kinesis_writer -> kinesis -> persisters_kinesis_reader [label="o.a.s.p.j.ActivityObject"] |
| |
| persisters_kinesis_reader -> persisters_elasticsearch |
| persisters_kinesis_reader -> persisters_hdfs |
| |
| persisters_elasticsearch -> elasticsearch [label="es://"] |
| persisters_hdfs -> hdfs [label="hdfs://"] |
| |
| } |