Skip to content

TiDB

Bases: Spout

__init__(output, state, **kwargs)

Initialize the TiDB 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 Any

Additional keyword arguments.

{}

Using geniusrise to invoke via command line

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

Using geniusrise to invoke via YAML file

version: "1"
spouts:
    my_tidb_spout:
        name: "TiDB"
        method: "fetch"
        args:
            host: "localhost"
            port: 4000
            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 TiDB database and save it in batch.

Parameters:

Name Type Description Default
host str

The TiDB host.

required
port int

The TiDB port.

required
user str

The TiDB user.

required
password str

The TiDB password.

required
database str

The TiDB 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 TiDB server or execute the query.