2017-06-09 21:55:01 -07:00
# WhereHows [](https://travis-ci.org/linkedin/WhereHows) [](https://gitter.im/wherehows) [](https://github.com/LinkedIn/Wherehows/wiki/Contributing)
2015-11-19 14:39:21 -08:00
2016-10-20 11:26:23 -07:00
WhereHows is a data discovery and lineage tool built at LinkedIn. It integrates with all the major data processing systems and collects both catalog and operational metadata from them.
2015-11-19 14:39:21 -08:00
2016-10-20 11:26:23 -07:00
Within the central metadata repository, WhereHows curates, associates, and surfaces the metadata information through two interfaces:
2016-02-09 12:23:00 -08:00
* a web application that enables data & linage discovery, and community collaboration
2016-10-20 11:26:23 -07:00
* an API endpoint that empowers automation of data processes/applications
2016-02-09 12:23:00 -08:00
WhereHows serves as the single platform that:
* links data objects with people and processes
* enables crowdsourcing for data knowledge
* provides data governance and provenance based on ownership and lineage
2016-10-20 11:26:23 -07:00
2016-02-16 01:11:18 -08:00
## Documentation
2016-02-09 12:23:00 -08:00
The detailed information can be found in the [Wiki][wiki]
2016-02-16 01:11:18 -08:00
## Examples in VM
There is a pre-built vmware image (about 11GB) to quickly demonstrate the functionality of WhereHows. Check out the [VM Guide][VM]
## Getting Started
2016-02-09 12:23:00 -08:00
New to Wherehows? Check out the [Getting Started Guide][GS]
2016-02-09 12:23:34 -08:00
2016-02-16 01:11:18 -08:00
### Preparation
2017-03-21 11:37:38 -07:00
First, please [setup the metadata repository][DB] in MySQL.
2016-02-16 01:11:18 -08:00
```
CREATE DATABASE wherehows
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
CREATE USER 'wherehows';
SET PASSWORD FOR 'wherehows' = PASSWORD('wherehows');
GRANT ALL ON wherehows.* TO 'wherehows'
```
Execute the [DDL files][DDL] to create the required repository tables in **wherehows** database.
### Build
2016-04-13 09:11:57 -04:00
1. Get the source code: ```git clone https://github.com/linkedin/WhereHows.git` ``
2017-05-02 17:15:30 -07:00
2. Put a few 3rd-party jar files to **wherehows-etl/extralibs** directory. Some of these jar files may not be available in Maven Central or Artifactory. See [the download instrucitons][EXJAR] for more detail. ```cd WhereHows/wherehows-etl/extralibs` ``
2017-03-21 11:37:38 -07:00
3. From the **WhereHows** root directory and build all the modules: ```./gradlew build` ``
2017-05-02 17:15:30 -07:00
4. Start the metadata ETL and API service: ```./gradlew wherehows-backend:runPlayBinary` ``
5. In a new terminal, start the web front-end: ```./gradlew wherehows-api:runPlayBinary` ``. The WhereHows UI is available at http://localhost:9000 by default. You can change the port number by editing the value of ` ``project.ext.httpPort` `` in ` ``wherehows-api/build.gradle` ``.
2016-02-16 01:11:18 -08:00
## Contribute
2016-02-09 12:23:00 -08:00
Want to contribute? Check out the [Contributors Guide][CON]
2015-11-19 14:39:21 -08:00
2016-09-02 12:31:52 -04:00
## Community
2017-03-23 10:29:15 -07:00
Want help? Check out the [Gitter chat room][GITTER] and [Google Groups][LIST]
2016-09-02 12:31:52 -04:00
2015-11-19 14:39:21 -08:00
[wiki]: https://github.com/LinkedIn/Wherehows/wiki
[GS]: https://github.com/LinkedIn/Wherehows/wiki/Getting-Started
[CON]: https://github.com/LinkedIn/Wherehows/wiki/Contributing
2016-02-16 01:11:18 -08:00
[VM]: https://github.com/LinkedIn/Wherehows/wiki/Quick-Start-With-VM
[EXJAR]: https://github.com/LinkedIn/Wherehows/wiki/Getting-Started#download -third-party-jar-files
2017-05-03 12:56:02 -07:00
[DDL]: https://github.com/linkedin/WhereHows/tree/master/wherehows-data-model/DDL
2016-02-16 01:11:18 -08:00
[DB]: https://github.com/LinkedIn/Wherehows/wiki/Getting-Started#set -up-your-database
2016-09-02 12:31:52 -04:00
[LIST]: https://groups.google.com/forum/#!forum/wherehows
2017-03-23 10:29:15 -07:00
[GITTER]: https://gitter.im/wherehows