The tap-mongodb extractor pulls data from MongoDB that can then be sent to a destination using a loader.
Available Variants
Getting Started
Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
Installation and configuration
-
Add the tap-mongodb extractor to your
project using
:meltano add
-
Configure the tap-mongodb
settings using
:meltano config
-
Test that extractor settings are valid using
:meltano config
meltano add extractor tap-mongodb
meltano config tap-mongodb set --interactive
meltano config tap-mongodb test
Next steps
Follow the remaining steps of the Getting Started guide:
If you run into any issues, learn how to get help.
Capabilities
The current capabilities for
tap-mongodb
may have been automatically set when originally added to the Hub. Please review the
capabilities when using this extractor. If you find they are out of date, please
consider updating them by making a pull request to the YAML file that defines the
capabilities for this extractor.
This plugin has the following capabilities:
- catalog
- state
- discover
- about
- stream-maps
- schema-flattening
- batch
You can
override these capabilities or specify additional ones
in your meltano.yml
by adding the capabilities
key.
Settings
The
tap-mongodb
settings that are known to Meltano are documented below. To quickly
find the setting you're looking for, click on any setting name from the list:
mongo
stream_prefix
optional_replication_key
database_includes
database_excludes
strategy
infer_schema_max_docs
stream_maps
stream_map_config
batch_config
flattening_enabled
flattening_max_depth
You can also list these settings using
with the meltano config
list
subcommand:
meltano config tap-mongodb list
You can
override these settings or specify additional ones
in your meltano.yml
by adding the settings
key.
Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.
Mongo (mongo)
-
Environment variable:
TAP_MONGODB_MONGO
These props are passed directly to pymongo MongoClient allowing the tap user full flexibility not provided in other Mongo taps since every kwarg can be tuned.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set mongo [value]
Stream Prefix (stream_prefix)
-
Environment variable:
TAP_MONGODB_STREAM_PREFIX
Optionally add a prefix for all streams, useful if ingesting from multiple shards/clusters via independent tap-mongodb configs. This is applied during catalog generation. Regenerate the catalog to apply a new stream prefix.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set stream_prefix [value]
Optional Replication Key (optional_replication_key)
-
Environment variable:
TAP_MONGODB_OPTIONAL_REPLICATION_KEY
This setting allows the tap to continue processing if a document is missing the replication key. Useful if a very small percentage of documents are missing the property.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set optional_replication_key [value]
Database Includes (database_includes)
-
Environment variable:
TAP_MONGODB_DATABASE_INCLUDES
A list of databases to include. If this list is empty, all databases will be included.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set database_includes [value]
Database Excludes (database_excludes)
-
Environment variable:
TAP_MONGODB_DATABASE_EXCLUDES
A list of databases to exclude. If this list is empty, no databases will be excluded.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set database_excludes [value]
Strategy (strategy)
-
Environment variable:
TAP_MONGODB_STRATEGY
The strategy to use for schema resolution. Defaults to 'raw'. The 'raw' strategy uses a relaxed schema using additionalProperties: true to accept the document as-is leaving the target to respect it. Useful for blob or jsonl. The 'envelope' strategy will envelope the document under a key named document
. The target should use a variant type for this key. The 'infer' strategy will infer the schema from the data based on a configurable number of documents.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set strategy [value]
Infer Schema Max Docs (infer_schema_max_docs)
-
Environment variable:
TAP_MONGODB_INFER_SCHEMA_MAX_DOCS
The maximum number of documents to sample when inferring the schema. This is only used when infer_schema is true.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set infer_schema_max_docs [value]
Stream Maps (stream_maps)
-
Environment variable:
TAP_MONGODB_STREAM_MAPS
Config object for stream maps capability. For more information check out Stream Maps.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set stream_maps [value]
Stream Map Config (stream_map_config)
-
Environment variable:
TAP_MONGODB_STREAM_MAP_CONFIG
User-defined config values to be used within map expressions.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set stream_map_config [value]
Batch Config (batch_config)
-
Environment variable:
TAP_MONGODB_BATCH_CONFIG
Batch configuration as defined here.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set batch_config [value]
Flattening Enabled (flattening_enabled)
-
Environment variable:
TAP_MONGODB_FLATTENING_ENABLED
'True' to enable schema flattening and automatically expand nested properties.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set flattening_enabled [value]
Flattening Max Depth (flattening_max_depth)
-
Environment variable:
TAP_MONGODB_FLATTENING_MAX_DEPTH
The max depth to flatten schemas.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set flattening_max_depth [value]
Something missing?
This page is generated from a YAML file that you can contribute changes to.
Edit it on GitHub!Looking for help?
#plugins-general
channel.