Configuring the Documentation#
Flowman has a sound default for generating documentation for relations, mappings and targets. But you might want
to explicitly influence the way for what and how documentation is generated. This can be easily done by supplying
a documentation.yml
file at the root level of your project (so it would be a sibling of the project.yml
file).
Example#
collectors:
# Collect documentation of relations
- kind: relations
# Collect documentation of mappings
- kind: mappings
# Collect documentation of build targets
- kind: targets
# Collect column level lineage
- kind: lineage
# Execute all checks
- kind: checks
generators:
# Create an output file in the project directory
- kind: file
location: ${project.basedir}/doc
template: html+css
# This will exclude all mappings
excludeMappings: ".*"
excludeRelations:
# You can either specify a name or regular expression (without the project)
- "stations_raw"
# Or can also explicitly specify a name with the project. Note that the entries actually are regular expressions
- ".*/measurements_raw"
Collectors#
Flowman uses so-called collectors which create an internal model of the documentation from the core entities like
relations, mappings and build targets. The default configuration uses the four collectors relations
, mappings
,
targets
and checks
, with each of them being responsible for one entity type and the last one will execute all
data quality checks. If you really do not require documentation for one of these targets, you may want to simply
remove the corresponding collector from that list.
File Generator Fields#
The generator is used for generating the documentation. You can configure multiple generators for creating multiple differently configured documentations.
kind
(mandatory) (type: string):file
template
(optional) (type: string) (default:html
): Specifies the template to use. Currently, Flowman provides three predefined templatestext
- Single file plain text documentationhtml
- Single file HTML page with inline CSShtml+css
- Single file HTML page with additional CSS file
location
(mandatory) (type: string): Specifies the output locationincludeMappings
(optional) (type: list:regex) (default: “.”)*: List of regular expressions which mappings to include. Per default all mappings will be included in the output. The list of filters will be applied before theexcludeMappings
filter list.excludeMappings
(optional) (type: list:regex) List of regular expressions which mappings to exclude. Per default no mapping will be excluded in the output. The list of filters will be applied after theincludeMappings
filter list.includeTargets
(optional) (type: list:regex) (default: “.”)*: List of regular expressions which targets to include. Per default all targets will be included in the output. The list of filters will be applied before theexcludeTargets
filter list.excludeTargets
(optional) (type: list:regex) List of regular expressions which targets to exclude. Per default no target will be excluded in the output. The list of filters will be applied after theincludeTargets
filter list.includeRelations
(optional) (type: list:regex) (default: “.”)*: List of regular expressions which relations to include. Per default all relations will be included in the output. The list of filters will be applied before theexcludeRelations
filter list.excludeRelations
(optional) (type: list:regex) List of regular expressions which relations to exclude. Per default no relation will be excluded in the output. The list of filters will be applied after theincludeRelations
filter list.