A Meltano target for MySQL.
Project description
macrometa-target-mongo
macrometa-target-mysql
is a Macrometa connector for writing data into MySQL, can be used as a target for any
Data Mesh Integration.
Installation
Use PIP for installation:
pip install macrometa-target-mysql
Configuration
The available configuration options for macrometa-target-mysql
are:
Property | Type | Required? | Description |
---|---|---|---|
host | String | Yes | MySQL host |
port | Int | Yes | MySQL port |
username | String | Yes | MySQL user |
password | Password | Yes | MySQL password |
database | String | Yes | MySQL database name |
target_table | String | Yes | Destination table name |
batch_flush_size | Int | No | Maximum size of batch. Exceeding this will trigger a batch flush |
batch_flush_interval | Int | No | Time between batch flush executions |
hard_delete | Boolean | No | When hard_delete option is true, DELETE SQL commands will be performed in MySQL to delete rows |
add_metadata_columns | Boolean | No | Metadata columns add extra row level information about data ingestion, |
(i.e. when was the row read in source, when was inserted or deleted in MySQL etc.) Metadata | |||
columns are created automatically by adding extra columns to the tables with a column prefix _SDC_ . |
|||
The column names are following the stitch naming conventions documented at | |||
link. | |||
ssl | Boolean | No | If set to true then use SSL for connecting with MySQL. |
If the server does not accept SSL connections or the client certificate is not recognized | |||
then the connection will fail. | |||
ssl_check_hostname | Boolean | No | Flag to configure whether SSL handshake should verify that the certificate |
matches the DB hostname. | |||
ssl_root_ca_cert | File | No | Specific CA certificate in PEM string format. This is most often the case |
when using self-signed server certificate. |
|||
ssl_client_certificate | File | No | Specific client certificate in PEM string format. The private key for the client |
certificate should be specified in a different parameter, SSL Client Key. | |||
ssl_client_key | File | No | Specific client key in PEM string format. |
Configurations can be stored in a JSON configuration file and specified using the --config
flag with
macrometa-target-mysql
.
Usage
cat <input_stream> | macrometa-target-mysql --config <config.json>
<input_stream>
: Input data stream<config.json>
: JSON configuration file
macrometa-target-mysql
reads data from a Singer Tap and writes it to a MySQL database. Run Singer Tap to generate
data before launching macrometa-target-mysql
.
Here's an example of using Singer Tap with macrometa-target-mysql
:
tap-exchangeratesapi | target-mysql --config config.json
In this case, tap-exchangeratesapi
is a Singer Tap that generates exchange rate data. The data is passed to
macrometa-target-mysql
through a pipe(|
), and macrometa-target-mysql
writes it to a MySQL database. config.json
contains
macrometa-target-mysql
settings.
Developer Resources
Initializing the Development Environment
pipx install poetry
poetry install
Creating and Running Tests
Create tests in the macrometa_target_mysql/tests
subfolder and run:
poetry run pytest
Use poetry run
to test macrometa-target-mysql
CLI interface:
poetry run target-mysql --help
Testing with Meltano
Note: This target functions within a Singer environment and does not require Meltano.
Firstly, install Meltano and necessary plugins:
# Install Meltano
pipx install meltano
# Initialize Meltano in this directory
cd target-mysql
meltano install
Then, test and orchestrate with Meltano:
# Call tests:
meltano invoke macrometa-target-mysql --version
# Or execute pipeline with Carbon Intensity sample tap:
meltano run tap-carbon-intensity target-mysql
Reference Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file macrometa-target-mysql-0.0.12.tar.gz
.
File metadata
- Download URL: macrometa-target-mysql-0.0.12.tar.gz
- Upload date:
- Size: 107.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 070643ca1e1305666b9d33f1e97760b7b58b22c0da7e30d23748f32bc72df3ae |
|
MD5 | f2b2f39e05407908e8ce4d31b56ffb3c |
|
BLAKE2b-256 | 8cecc15133a0a4ce9a873fada73dd2cc011936ef0f98caf531a3438fe6a1f3c1 |
File details
Details for the file macrometa_target_mysql-0.0.12-py3-none-any.whl
.
File metadata
- Download URL: macrometa_target_mysql-0.0.12-py3-none-any.whl
- Upload date:
- Size: 121.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4404e4509e6417f6b2e7fd824fa2ccfed35e7d7693af99ed779a166d7ebec421 |
|
MD5 | c9addc04c4686dc5a155b93c006c48f2 |
|
BLAKE2b-256 | 73161f651bb1636ba5189083a7785708d28dc305abe559a61fb591e0a17f8b21 |