Вопрос: Возможно ли как-то указать в sql запросе модерируемый объем памяти? Предположим есть большая база данных, а у меня всего 4 гб свободной пямяти (может быть и больше и меньше). Я хочу выбрать максимальное кол-во строк и присвоить этот список переменной, так чтобы компьютер не зависнул.
Что-то вроде этого:
from sqlalchemy import create_engine
import pandas as pd
db_connection = 'mysql+pymysql://Baron:Baroness@localhost/test_base'
conn = create_engine(db_connection)
data = pd.read_sql("SELECT * FROM table_name WHERE (указание на свободную память)", conn)
Или может есть какая-то модерируемая настройка памяти в самой Mysql для определенных таблиц?
Все известные мне алгоритмы машинного обучения будут создавать дополнительные временные и результируюшие матрицы в памяти, поэтому при первом же вызове model.fit(X_train, y_train)
- вы скорее всего получите MemoryError
при таком подходе...
В реляционных БД обычно можно указать максимальное число строк, которое вы хотите получить:
N = 10**5
sql = f"SELECT * FROM table_name ORDER BY rand() LIMIT {N}"
data = pd.read_sql(sql, conn)
Число строк N
можно попытаться посчитать динамически - например прочитать 1000 строк из БД в DataFrame и посмотреть сколько памяти занимает данный DF (df.memory_usage().sum()
) и дальше расчитать сколько строк нужно читать...
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Никак не получается написать оператор приведения типа из enum class в, например, size_tПодскажите, пожалуйста, как это сделать
Столкнулся с интересной ошибкойПару минут назад собирал проект, всё работало
Если в программе используется Сишный ввод/вывод (scanf(), printf()), то рассинхронизация потоков (std::ios_base::sync_with_stdio(false)) может увеличить производительность?...