Today, we are excited to release Meltano version 1.41.1, which (among other things) lets you easily override Singer stream schema descriptions for specific attributes (e.g. {"type": ["string", "null"], "format": "date-time"}
) using a new schema
extractor extra:
# In `meltano.yml`
extractors:
- name: tap-postgres
pip_url: tap-postgres
schema:
some_table:
created_at:
type: ["string", "null"]
format: date-time
This plugin extra can also be thought of and interacted with as a setting named _schema
, with _schema.<entity>.<attribute>
and _schema.<entity>.<attribute>.<key>
nested properties:
# On the command line
meltano config <plugin> set _schema <entity> <attribute> <schema description>
meltano config <plugin> set _schema <entity> <attribute> <key> <value>
export <NAMESPACE>__SCHEMA='{"<entity>": {"<attribute>": {"<key>": "<value>"}}}'
# Once schema descriptions have been set in `meltano.yml`,
# environment variables can be used to override specific
# nested properties:
export <NAMESPACE>__SCHEMA_<ENTITY>_<ATTRIBUTE>_<KEY>=<value>
# For example:
meltano config tap-postgres set _metadata some_table created_at type '["string", "null"]'
meltano config tap-postgres set _metadata some_table created_at format date-time
export TAP_POSTGRES__SCHEMA_SOME_TABLE_CREATED_AT_FORMAT=date
Whenever an extractor is run using meltano elt
or meltano invoke
, Meltano will generate the desired catalog on the fly by running the tap in discovery mode and applying the selection, metadata, and schema rules to the resulting catalog file before passing it to the tap in sync mode.
Check out the brand-new documentation for more about plugin extras in general and the select
, metadata
, and schema
extractor extras in particular.
A special thanks goes out to Dmitry Stadnik of RFA, who contributed an improvement to Meltano UI: List installed and available extractors separately on Extractors page.
Excited to try it out?
To upgrade Meltano and your Meltano project to the latest version, navigate to your project directory, activate the appropriate virtual environment, and run meltano upgrade
. This will upgrade the meltano
package and apply any necessary changes to your project.
What else is new?
The list below (copied from the changelog) covers all of the changes made to Meltano since the release of v1.41.0 on July 20:
New
- #2196 Pretty print and apply appropriate nesting to
meltano config
output - #2003 Let extractor extra
select
be interacted with as_select
setting - !1774 Let transform extra
vars
be interacted with as_vars
setting - !1774 Add support for
kind: object
settings, which can gather nested values from across setting stores - !1774 Add support for
aliases: [...]
on setting definitions - !1774 Add support for
value_processor: 'nest_object'
on setting definitions - #2145 Let discovered catalog schema be modified using schema rules stored in extractor
schema
extra (aka_schema
setting)
Changes
- #2070 List installed and available extractors separately on Extractors page
- !1774 Replace
update.*
file bundle settings withupdate
extra (aka_update
setting) - !1774 Replace
metadata.*
extractor settings withmetadata
extra (aka_metadata
setting) - #1764 Interpret
meltano config <plugin> set
value as JSON to allow non-string values to be set more easily
Fixes
- !1774 Fix poor performance of setting lookups using more memoization