Hi, can I have some help, I just want to run an ex...
# troubleshooting
j
Hi, can I have some help, I just want to run an extract load, but nothing happend, I make som search, documentation Googling etc without success 😕 My projet metlano.yml is very simple, I want to replicate 1 table from MySQL to Postgresql
r
We need some more context to be able to help you properly here. Can you share your
meltano.yml
, the command you are running and some logs? If not, do you see anything in the logs that would indicate nothing is happening?
j
Yes sure
Copy code
version: 1
send_anonymous_usage_stats: false
project_id: 24cafe74-59ab-427d-a742-9abe1104608b
plugins:
  extractors:
  - name: tap-mysql
    variant: transferwise
    pip_url: pipelinewise-tap-mysql
    config:
      host: ZZZ
      port: 3306
      user: YYY
      password: XXX
      database: AAA
      table:
        - table: addresses_refs
          replication_method: INCREMENTAL
          replication_key: address_ref_id
    select:
    - addresses_refs.*
    metadata:
      addresses_refs:
        replication-method: INCREMENTAL
        replication_key: address_ref_id
  loaders:
  - name: target-postgres
    variant: transferwise
    pip_url: pipelinewise-target-postgres
    config:
      host: ZZZ
      port: 5432
      user: YYY
      password: AAA
      dbname: BBB
      schema: foo
Logs :
Copy code
meltano elt tap-mysql target-postgres --job_id=addresses_refs --force --full-refresh

2024-07-02T14:58:29.267969Z [info     ] Running extract & load...      job_id=addresses_refs name=meltano run_id=153498ff-f99f-4366-be6e-e189a1782f73
2024-07-02T14:58:29.439409Z [info     ] Performing full refresh, ignoring state left behind by any previous runs.
2024-07-02T14:58:30.626678Z [info     ] time=2024-07-02 16:58:30 name=tap_mysql level=INFO message=Server Parameters: version: 5.7.40-log, wait_timeout: 28800, innodb_lock_wait_timeout: 3600, max_allowed_packet: 67108864, interactive_timeout: 28800 cmd_type=extractor job_id=addresses_refs name=tap-mysql run_id=153498ff-f99f-4366-be6e-e189a1782f73 stdio=stderr
2024-07-02T14:58:30.627985Z [info     ] time=2024-07-02 16:58:30 name=tap_mysql level=INFO message=Server SSL Parameters(blank means SSL is not active): [ssl_version: ], [ssl_cipher: ] cmd_type=extractor job_id=addresses_refs name=tap-mysql run_id=153498ff-f99f-4366-be6e-e189a1782f73 stdio=stderr
2024-07-02T14:58:30.922516Z [info     ] Incremental state has been updated at 2024-07-02 14:58:30.922221.
2024-07-02T14:58:30.934266Z [info     ] Extract & load complete!       job_id=addresses_refs name=meltano run_id=153498ff-f99f-4366-be6e-e189a1782f73
2024-07-02T14:58:30.934562Z [info     ] Transformation skipped.        job_id=addresses_refs name=meltano run_id=153498ff-f99f-4366-be6e-e189a1782f73
My table addresses_refs have 3 milions rows
There is no table replicated to the target postgres schema
r
What do you get if you run
Copy code
meltano config tap-mysql test
? If that fails with
No RECORD message received
something is wrong with your tap config. Might be related to https://github.com/meltano/meltano/issues/8521#issuecomment-2084134652?
j
I have this (env) [ss@ss]$ meltano config tap-mysql test Plugin configuration is invalid No RECORD message received
r
So that tells you that the tap isn't getting any data and therefore explains why you are not seeing the table in Postgres. Check your tap config (maybe look at that linked issue as well) and run that same command again to verify.
j
I cant configure otherwise than manualy into the meltano.yml With fresh project:
Copy code
meltano init addresses_refs
Created addresses_refs
Creating project files...
Project addresses_refs has been created.

Next steps:
        cd addresses_refs
        Visit <https://meltano.com/> to learn where to go from here

> Meltano sends anonymous usage data that helps improve the product.
> You can opt-out for new, existing, or all projects.
> <https://meltano.com/docs/settings.html#send-anonymous-usage-stats>

meltano add extractor tap-mysql
Added extractor 'tap-mysql' to your Meltano project
Variant:        transferwise (default)  
Repository:     <https://github.com/transferwise/pipelinewise-tap-mysql>
Documentation:  <https://hub.meltano.com/extractors/mysql.html>

Installing extractor 'tap-mysql'...
Installed extractor 'tap-mysql'

To learn more about extractor 'tap-mysql', visit <https://hub.meltano.com/extractors/mysql.html>

meltano config tap-mysql set --interactive
Usage: meltano config set [OPTIONS] SETTING_NAME... VALUE
Try 'meltano config set --help' for help.

Error: no such option: --interactive
Copy code
meltano --version
meltano, version 1.91.0
r
Just edit the file manually, or run
Copy code
meltano config tap-mysql set [key] [value]
Also, you are on a very old version of Meltano so you may run into legacy issues (e.g.
--interactive
was not added until 2.0) - I would recommend upgrading to the latest version.
j
Ty I have used this way, but where there is no documentation about tap-mysql is where to define replication method now its ok 🙂
image.png
r
So what did you change to make it work? I'm looking at https://hub.meltano.com/extractors/tap-mysql and I don't see any mention of a
tables
setting, so probably you've discovered that
metadata
is the correct place to define replication behaviour from https://hub.meltano.com/extractors/tap-mysql#incremental-replication?