tuan_cao
11/29/2019, 3:22 AMyannis_roussos
11/29/2019, 11:03 AMtap-gitlab that has a lot of updates on top of the official tap-gitlab (a lot more entities extracted) and our own version of target-postgres that also has updates to fix bugs and make it work with additional option JSON schema provides (like the anyOf and allOf you describe).
Those tap-gitlab and target-postgre are the ones added by Meltano when you:
meltano add extractor tap-gitlab
meltano add loader target-postgres
The reason for that is that dbt transformations, like any transformation, depend on a specific schema to be there.
If you use a different extractor (tap) that defines the schema differently for the same API then a lot of attributes or tables that the Transformations expect will not be there.
The same holds in case you use a different target that follows different attribute naming convention rules. For example, both us and Stitch use `_`s to convert arbitrary attribute names to proper SQL identifiers and un-nest nested structures using a __ convention (e.g. attibute_name__sub_attribute_name_ --> author__id). This is not true for all Loaders (targets) out there, which means that switching the loader will require a different Transformation to be built on top of it.
That means that if you want to use Meltano out of the box you have to use our supported Extractors and Loaders either through Meltano UI or by adding them in the cli:
meltano add extractor {extractor}
meltano add loader {loader}
meltano add transformer dbt
meltano add transform {extractor}
Notes:
(1) We want to support the official target-postgres . Our own version is based on the old target-postgres and we even consider switching to it, but until we officially do that and add transformations for it, we can only support our own fork.
(2) We also want to contribute our updates to various Taps and Targets back to the official Singer.io Taps and Targets. Especially in the case of tap-gitlab , our own version is far more feature complete compared to the Singer.io one. This would be a great point that someone could help us with.yannis_roussos
11/29/2019, 11:13 AMyannis_roussos
11/29/2019, 11:17 AMtuan_cao
11/29/2019, 1:45 PMtuan_cao
11/29/2019, 1:45 PMtuan_cao
12/03/2019, 10:08 AMtuan_cao
12/03/2019, 10:08 AMyannis_roussos
12/03/2019, 10:09 AMpsql from the cli?tuan_cao
12/03/2019, 10:09 AMtuan_cao
12/03/2019, 10:09 AMexport PG_ADDRESS="host.docker.internal"
export PG_USERNAME="postgres"
export PG_PORT="54320"
export PG_PASSWORD="123456"
export PG_DATABASE="postgres"
export PG_SCHEMA="public"
export GITLAB_API_TOKEN="xxxx"
export GITLAB_API_GROUPS="xxxx"
export GITLAB_API_PROJECTS="xxxx"
export GITLAB_API_START_DATE="2019-01-01T00:00:00Z"
export GITLAB_API_ULTIMATE_LICENSE="false"tuan_cao
12/03/2019, 10:09 AMyannis_roussos
12/03/2019, 10:10 AMPG_PORT and PG_ADDRESS seem weird, but if that's your setup and it works, then it should be OK. But please test that it worksyannis_roussos
12/03/2019, 10:11 AMpostgres user and the postgres dbtuan_cao
12/03/2019, 10:11 AMtuan_cao
12/03/2019, 10:11 AMtuan_cao
12/03/2019, 10:12 AMtuan_cao
12/03/2019, 10:12 AMtuan_cao
12/03/2019, 10:12 AMdocker run -v $(pwd):/project \
-w /project \
-p 5000:5000 \
meltano/meltanotuan_cao
12/03/2019, 10:13 AMtuan_cao
12/03/2019, 10:14 AMyannis_roussos
12/03/2019, 10:14 AM"host.docker.internal" to address: Name or service not known
This is not discoverable. You should find a way to make it workyannis_roussos
12/03/2019, 10:15 AMtuan_cao
12/03/2019, 10:15 AMtuan_cao
12/03/2019, 10:15 AMyannis_roussos
12/03/2019, 10:16 AMyannis_roussos
12/03/2019, 10:16 AMtuan_cao
12/03/2019, 10:17 AMtuan_cao
12/03/2019, 10:17 AMtuan_cao
12/03/2019, 10:17 AM03a5c13d1fb1 meltano/meltano "meltano ui" 17 minutes ago Up 17 minutes 0.0.0.0:5000->5000/tcp, 5010/tcp unruffled_hamilton
b902ff4029d3 postgres:11 "docker-entrypoint.s…" 3 days ago Up 6 hours 0.0.0.0:54320->5432/tcp my_postgres
4a8d1f8589c6 mysql:5.7 "docker-entrypoint.s…" 3 days ago Up 6 hours 33060/tcp, 0.0.0.0:23306->3306/tcp mysql
24817a28cac0 metabase/metabase "/app/run_metabase.sh" 3 days ago Up 6 hours 0.0.0.0:8888->3000/tcp my_mb
a90dc0ed554c zenika/alpine-chrome:77 "chromium-browser --…" 11 days ago Up 8 hours 0.0.0.0:9222->9222/tcp chromeyannis_roussos
12/03/2019, 10:19 AMtuan_cao
12/03/2019, 10:19 AMyannis_roussos
12/03/2019, 10:20 AMyannis_roussos
12/03/2019, 10:21 AMtuan_cao
12/03/2019, 11:37 AMtuan_cao
12/03/2019, 11:38 AMyannis_roussos
12/03/2019, 11:44 AMtuan_cao
12/13/2019, 4:50 AMyannis_roussos
12/13/2019, 10:30 AManalytics for Meltano Analyze to find something.
That's the reason you get the errors. Meltano Analyze tries to use the Connection for Postgres and access the analytics schema but there is nothing there.
We know that we did not properly communicate the aforementioned limitations in previous versions of Meltano, that's why in the latest release we have remove SQLite from the available options in Meltano UI. Like the loader for Snowflake, it is still available for advanced users that just want to extract and load data, but we have only left the Postgres option for the regular use of Meltano.
I would propose that you setup and use Postgres if you want to make use of the full features offered by Meltano.
Back to our Gitlab Transforms and Models:
I would advise that you check what we have there after we start using Postgres and see if what we have covers your use case.
If you want different Transforms or Models, you can selectively build and add ones yourself in your project. If our pre-bundled dbt transforms and tables in the analytics schemas cover your needs, you can only add a different Model in there (for example, I am pretty sure that even though you bring in branches and commits, I have not added Models to expose that info in Meltano Analyze). If you need some other grouping of the data, you can also add your own dbt transforms that can mix and match data on top of both the RAW tables brought in by the Extractor and our own transformed tables.
I can help you go through that process if you get stuck! And if your transforms and Models prove to be useful, you could even contribute them back to Meltano and we can add them to the pre-bundled ones we offer for all users.tuan_cao
12/16/2019, 4:04 AM