{"id":13609603,"url":"https://github.com/twitter-archive/ambrose","last_synced_at":"2025-09-29T02:31:52.062Z","repository":{"id":3111855,"uuid":"4138309","full_name":"twitter-archive/ambrose","owner":"twitter-archive","description":"A platform for visualization and real-time monitoring of data workflows","archived":true,"fork":false,"pushed_at":"2020-01-22T18:54:23.000Z","size":4941,"stargazers_count":1181,"open_issues_count":36,"forks_count":210,"subscribers_count":208,"default_branch":"master","last_synced_at":"2024-09-27T04:41:04.785Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://twitter.com/ambrose","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/twitter-archive.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-04-25T15:52:28.000Z","updated_at":"2024-09-11T12:00:40.000Z","dependencies_parsed_at":"2022-09-10T21:51:22.990Z","dependency_job_id":null,"html_url":"https://github.com/twitter-archive/ambrose","commit_stats":null,"previous_names":["twitter/ambrose"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter-archive%2Fambrose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter-archive%2Fambrose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter-archive%2Fambrose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter-archive%2Fambrose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twitter-archive","download_url":"https://codeload.github.com/twitter-archive/ambrose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234583683,"owners_count":18856280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T19:01:36.415Z","updated_at":"2025-09-29T02:31:46.463Z","avatar_url":"https://github.com/twitter-archive.png","language":"Java","funding_links":[],"categories":["Java","Building","大数据"],"sub_categories":["Workflows"],"readme":"# Status\nThis project is no longer maintained. \n\n# Ambrose [![Build Status](https://secure.travis-ci.org/twitter/ambrose.png)](http://travis-ci.org/twitter/ambrose)\n\nTwitter Ambrose is a platform for visualization and real-time monitoring of MapReduce data workflows.\nIt presents a global view of all the map-reduce jobs derived from your workflow after planning and\noptimization. As jobs are submitted for execution on your Hadoop cluster, Ambrose updates its\nvisualization to reflect the latest job status.\n\nAmbrose provides the following in a web UI:\n\n* A workflow progress bar depicting percent completion of the entire workflow\n* A table view of all workflow jobs, along with their current state\n* A graph diagram which depicts job dependencies and metrics\n    * Visual weighting of jobs based on resource consumption\n    * Visual weighting of job dependencies based on data volume\n* Script view with line highlighting (Pig only)\n\nAmbrose is built using the following front-end technologies:\n\n* [jQuery](http://jquery.com), [UnderscoreJS](http://underscorejs.com), [RequireJS](http://requirejs.org) - Core javascript libraries and JS module definition\n* [D3.js](http://d3js.org) - Diagram generation\n* [Bootstrap](http://getbootstrap.com/) - Layout and CSS support\n\nAmbrose is designed to support any workflow runtime. See the following section for supported\nruntimes.\n\nFollow [@Ambrose](https://twitter.com/ambrose) on Twitter to stay in touch!\n\n## Supported runtimes\n\n* [Pig](http://pig.apache.org/) - See [pig/README.md](https://github.com/twitter/ambrose/blob/master/pig/README.md)\n* [Hive](http://hive.apache.org/) - See [hive/README.md](https://github.com/twitter/ambrose/blob/master/hive/README.md)\n* [Cascading](http://www.cascading.org/) - See [cascading/README.md](https://github.com/twitter/ambrose/blob/master/cascading/README.md)\n* [Scalding](https://github.com/twitter/scalding) - See [scalding/README.md](https://github.com/twitter/ambrose/blob/master/scalding/README.md)\n* [Cascalog](https://github.com/nathanmarz/cascalog) - future work\n\n## Examples\n\nBelow is a screenshot of the Ambrose workflow UI. The interface presents multiple responsive \"views\"\nof a single workflow. Just beneath the toolbar at the top of the window is a workflow progress bar\nthat tracks overall completion of the workflow. Below the progress bar is a graph diagrams which\ndepicts the workflow's jobs and their dependencies. Below the graph diagram is a table of workflow\njobs.\n\nAll views react to mouseover and click events on a job, regardless of the view on which the event is\ntriggered; Moving your mouse over the first row of the table will highlight that job's table row\nalong with the job's node in the graph diagram. Clicking on a job in any view will select it,\nupdating the highlighting of that job in all views. Clicking again on the same job will deselect it.\n\n![Ambrose workflow screenshot](docs/img/ambrose-demo.gif)\n\n## Quickstart\n\nTo get started with Ambrose, first clone the Ambrose Github repository:\n\n```\ngit clone https://github.com/twitter/ambrose.git\ncd ambrose\n```\n\nNext, you can try running the Ambrose demo on your local machine. The demo starts a local web server\nwhich serves the front-end client resources and sample data. Start the demo with the following\ncommand and then browse to\n[http://localhost:8080/workflow.html?localdata=large](http://localhost:8080/workflow.html?localdata=large):\n\n```\n./bin/ambrose-demo\n```\n\nTo run Ambrose with a Pig script, you'll need to build the Ambrose Pig distribution:\n\n```\nmvn package\n```\n\nYou can then run the following commands to execute `script.pig` with an embedded web server which\nhosts the Ambrose web application:\n\n```\ncd pig/target/ambrose-pig-$VERSION-bin/ambrose-pig-$VERSION\nAMBROSE_PORT=8080 ./bin/pig-ambrose -f script.pig\n```\n\nNote that the `pig-ambrose` script calls the `pig` script present in your local installation of Pig,\nso make sure `$PIG_HOME/bin` is in your path. Now, browse to\n[http://localhost:8080/web/workflow.html](http://localhost:8080/workflow.html) to see the progress\nof your script with the Ambrose workflow UI.\n\n## Maven repository\n\nAmbrose releases can be found in the Maven Central Repository within package\n[com.twitter.ambrose](http://central.maven.org/maven2/com/twitter/ambrose).\n\n## How to contribute\n\nBug fixes, features, and documentation improvements are welcome! Please fork the project and send us\na pull request on Github. You can [submit issues on Github](https://github.com/twitter/ambrose/issues)\nas well.\n\nHere are some high-level goals we'd love to see contributions for:\n\n* Improve the front-end client\n* Add other visualization options\n* Create a new back-end for a different runtime environment\n* Create a standalone Ambrose server that's not embedded in the workflow client\n\n## Versioning\n\nFor transparency and insight into our release cycle, releases will be numbered with the follow format:\n\n`\u003cmajor\u003e.\u003cminor\u003e.\u003cpatch\u003e`\n\nAnd constructed with the following guidelines:\n\n* Breaking backwards compatibility bumps the major\n* New additions without breaking backwards compatibility bumps the minor\n* Bug fixes and misc changes bump the patch\n\nFor more information on semantic versioning, please visit http://semver.org/.\n\n## Authors\n\n* [Bill Graham](https://github.com/billonahill) ([@billgraham](https://twitter.com/billgraham))\n* [Andy Schlaikjer](https://github.com/sagemintblue) ([@sagemintblue](https://twitter.com/sagemintblue))\n* [Gary Helmling](https://github.com/ghelmling) ([@gario](https://twitter.com/gario))\n* [Nicolas Belmonte](https://github.com/philogb) ([@philogb](https://twitter.com/philogb))\n* [Grace Zhang](https://github.com/gzhangT) ([@pkq1123](https://twitter.com/pkq1123))\n\n## License\n\nCopyright 2013 Twitter, Inc.\n\nLicensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwitter-archive%2Fambrose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwitter-archive%2Fambrose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwitter-archive%2Fambrose/lists"}