4paradigm / 4paradigm/OpenMLDB

Mock commit statement for open-mysql-db by using panda dataframe

Aperta
#3,850 0 commenti 0 reazioni 1 assegnatario Rivendicata da @yangwucheng Vedi su GitHub
Lingua principale
C++
Stelle
1.7k
Fork
331
Merge medio
12g 12h
PR unite (30g)
1

Descrizione

**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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
mysql, pandas, python, sqlalchemy
Ambito
data-engineering, databases, machine-learning
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.