Эффективный способ профилировать MySQL таблиц перед чтением в Python - PullRequest
0 голосов
/ 09 апреля 2020

Я хочу получить данные из базы MySQL. Эта база данных имеет несколько tables. Меня интересует конкретная таблица, и меня предупредили, что в таблице содержится огромных данных , и мне следует остерегаться. Какой лучший способ справиться с этим и хранить все мои данные в dataframe. Я знаю, что могу использовать chunksize в pandas read_sql.

Два вопроса:

1 - Как мне профилировать таблицу, чтобы увидеть first 5 rows и, возможно, last 5 rows, сколько rows и columns и shape данных перед чтением

2 - какой самый эффективный и быстрый способ прочитать их в chunks и поместить их в один кадр.

Вот snippet моего кода

import pandas as pd
connection = 'mysql+pymysql://xxx:papaasjsj@website/comecmomansnsP'

engine = create_engine(connection)

# Profile tables
engine .table_names()

for chunk in pd.read_sql("SELECT * FROM sales",con=connection , chunksize=20):
    print(chunk)
...