Skip to content

MySQL

Bases: Spout

__init__(output, state, **kwargs)

Initialize the MySQL class.

Parameters:

Name Type Description Default
output BatchOutput

An instance of the BatchOutput class for saving the data.

required
state State

An instance of the State class for maintaining the state.

required
**kwargs

Additional keyword arguments.

{}

Using geniusrise to invoke via command line

genius MySQL rise \
    batch \
        --output_s3_bucket my_bucket \
        --output_s3_folder s3/folder \
    none \
    fetch \
        --args host=localhost port=3306 user=root password=root database=mydb query="SELECT * FROM table" page_size=100

Using geniusrise to invoke via YAML file

version: "1"
spouts:
    my_mysql_spout:
        name: "MySQL"
        method: "fetch"
        args:
            host: "localhost"
            port: 3306
            user: "root"
            password: "root"
            database: "mydb"
            query: "SELECT * FROM table"
            page_size: 100
        output:
            type: "batch"
            args:
                bucket: "my_bucket"
                s3_folder: "s3/folder"

fetch(host, port, user, password, database, query, page_size=100)

📖 Fetch data from a MySQL database and save it in batch.

Parameters:

Name Type Description Default
host str

The MySQL host.

required
port int

The MySQL port.

required
user str

The MySQL user.

required
password str

The MySQL password.

required
database str

The MySQL database name.

required
query str

The SQL query to execute.

required
page_size int

The number of rows to fetch per page. Defaults to 100.

100

Raises:

Type Description
Exception

If unable to connect to the MySQL server or execute the query.