Size: a a a

2021 July 15

dz

dimka ztheshek in Data Engineers
допутсим миллион строк, 10 колонок. float
источник

AZ

Anton Zadorozhniy in Data Engineers
база какая?
источник

dz

dimka ztheshek in Data Engineers
postgre
источник

AZ

Anton Zadorozhniy in Data Engineers
однозначно to_sql
источник

dz

dimka ztheshek in Data Engineers
но по сути df падает в оперативку ? а генератор только строчку достает
источник

AZ

Anton Zadorozhniy in Data Engineers
если вы оптимизируете ваш процесс на питоне (а не производительность на базе) - наверное имеет смысл по одной доставать откуда-то и кидать в базу (и то я бы посмотрел на маленький батчинг), но с датафреймом вы можете использовать COPY для записи в таблицу, это будет намного быстрее для самой базы https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#io-sql-method
источник

dz

dimka ztheshek in Data Engineers
источник

dz

dimka ztheshek in Data Engineers
из stringio copy_from я не могу указать схему. Даже если ставить источники поиска, все равно не работало
источник

dz

dimka ztheshek in Data Engineers
хотя тут есть схема. надо будет чекнуть, спасибо
источник

AZ

Anton Zadorozhniy in Data Engineers
видите насколько copy_from быстрее? вот этого можно добиться через кастомный method in df.to_sql
источник

РП

Роман Пашкевич... in Data Engineers
А можно же партиционированную таблицу, еще и бакетировать? Будет ли в этом случае прирост чтения\записи?
источник

NN

No Name in Data Engineers
Запись пойдет медленнее, потому что данные нужно будет правильно раскидать.
Чтение само по себе тоже вряд ли ускорится, а вот различные джойны между одинаково бакетированными таблицами - да, ускорятся.
источник

А

Алексей in Data Engineers
тогда чтото другое, не связано с партицированием/бакетированием. Может тасок мало
источник

РП

Роман Пашкевич... in Data Engineers
А то что таблица транзакционная может влиять?
источник

А

Алексей in Data Engineers
тут хз, у меня таких нет
источник

N

Nikita Blagodarnyy in Data Engineers
очень сильно. они принципиально по разному работают. асид таблицы накапливают векторы изменений в отдельных маленьких файлах и потом бог знает как компактятся, если вообще компактятся.
источник

N

Nikita Blagodarnyy in Data Engineers
нужны транзакции-используйте то, что под них заточено. а не жалкую попытку натянуть сову на глобус.
источник

РП

Роман Пашкевич... in Data Engineers
Почему ETL упорото использует транзакционную таблицу не понимаю.  На источнике, по факту запуска джоба, результат сохраняется в таблицу. Только append, никаких изменений уже сохраненных строк. У строк есть дата создания

Раз в сутки, ETL должны забрать все новые строки и положить в HIVE.  Тут же вообще не имеет смысла транзакционная таблица ?
источник

ЕГ

Евгений Глотов... in Data Engineers
Возможно просто кто-то играл в hive 2/3 и проиграл
источник

ЕГ

Евгений Глотов... in Data Engineers
Hive 3 по-моему только external таблицы не асид
источник