4paradigm / 4paradigm/OpenMLDB
Mock commit statement for open-mysql-db by using panda dataframe
- Langage dominant
- C++
- Étoiles
- 1.7k
- Forks
- 331
- Merge moyen
- 12 j 12 h
- PR mergées (30 j)
- 1
Description
**Describe the feature you'd like**
Now we are using sqlalchemy and pandas dataframe. The method of "to_sql" is not supported which uses commit statements.
Here is the example code.
```
import pandas as pd
from sqlalchemy import create_engine
# Create a Pandas DataFrame (replace this with your actual data)
data = {'id': [1, 2, 3],
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35]}
df = pd.DataFrame(data)
# Create a MySQL database engine using SQLAlchemy
engine = create_engine('mysql://username:password@host/db_name')
# Replace 'username', 'password', 'host', and 'db_name' with your actual database credentials
# Define the name of the table in the database where you want to write the data
table_name = 'your_table_name'
# Write the DataFrame 'df' into the MySQL table
df.to_sql(table_name, engine, if_exists='replace', index=False)
# 'if_exists' parameter options:
# - 'fail': If the table already exists, an error will be raised.
# - 'replace': If the table already exists, it will be replaced.
# - 'append': If the table already exists, data will be appended to it.
print("Data written to MySQL table successfully!")
```
And we may get the error like this.
```
[1002] create logic plan tree failed--Un-support statement type: CommitStatement'
```
**Additional context**
Add any other context or screenshots about the feature request here.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
The issue is about supporting commit statements when using pandas DataFrame.to_sql with SQLAlchemy on OpenMLDB. Look at the OpenMLDB SQL engine's handling of CommitStatement. Start by searching for 'CommitStatement' in the codebase, likely in the SQL parser or planner. Check how other statement types are supported and see where commit logic needs to be added. Run the provided example to reproduce the error and verify the fix.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- mysql, pandas, python, sqlalchemy
- Domaine
- data-engineering, databases, machine-learning
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100