Project Metadata
A project’s metadata typically contains a number of database connections (relational or NoSQL), logging configurations and so on. This metadata is stored on a project level and is available through the metadata perspective.
The way metadata typically is handled is:
-
metadata objects (connections, logging, …) are defined on a project level. E.g. a
CRM
database connection is created in the project, using a number of variables for hostname (${CRM_HOST}
) and database name (${CRM_DBNAME}
), with corresponding variables for the port, username, password and so on. -
the metadata object configuration is defined on an environment level, where a number of variable values are created the contain the ip address for
${CRM_HOST}
etc.
A project’s metadata is stored in ${PROJECT_HOME}/metadata
, but can be overruled by setting the project’s metadata base folder ${HOP_METADATA_FOLDER}
property in the project configuration dialog or directly in the project-config.json
file.
A basic project metadata folder will look similar to the one below:
. ├── cassandra-connection ├── dataset ├── file-definition ├── git ├── mongodb-connection ├── neo4j-connection ├── neo4j-graph-model ├── partition ├── pipeline-log ├── pipeline-probe ├── pipeline-run-configuration │ ├── local.json │ └── Spark.json ├── rdbms │ └── crm.json ├── schema-definition ├── server ├── splunk ├── unit-test ├── web-service ├── workflow-log └── workflow-run-configuration └── local.json 18 directories, 4 files
bash