Pull to refresh

Comments 11

А зачем тогда паркет, если даск умеет большие сам? Для чистоты эксперимента паркет лишний) Ну и как-то не очень понятна страсть к героическому решению всех этих проблем чтения csv-файлов — ну загрузи ты все это хозяйство в бд и тащи оттуда хоть все сразу, хоть по одному. Кому-нибудь в продакшене хоть раз встречался csv? Практически всегда же источником служит бд. Даже в данном примере- этот голландский файл- это выгрузка из базки… хотя… а что если они там в экселе все хранят?! ))
По существу- спасибо, не знал что даск умеет многоядерно.

Паркет скорее для компактного хранения, на 7 Гб немного жаба душит. Некоторые вещи типа машинных логов с редко меняющимися состояниями он ужимает совсем люто.
Про продакшн, и бд. Дисклеймкр про SQL в начале собственно о том и говорит. Если задача делать серьезно, то пандас на костылях тут совсем не к месту. Если надо быстро разворошить палочкой, окинуть взором и бежать к следующей не аналогичной задаче — то вполне сгодится.

Куда более примечательно, что даск парой строк можно превратить в распределенный кластер с клевым админским дашбордом. Это уже куда веселее

А можете в меня ссылкой пульнуть на эту тему? Если не сложно…
есть такой недокументированый способ работы с CSV-файлами в MySQL
1. создаём таблицу соответствующую формату нашего файла
CREATE TABLE test_csv (id INT NOT NULL, name VARCHAR(200) NOT NULL) ENGINE = CSV;

2. заменяем пустой файл в БД mysql
/var/lib/mysql/testdb/test_csv.csv
на наш
3. файл должен быть формата CSV, разделитель запятая, без заголовков. Т.е. что-то типа:
1,"Конфеты \"Мечта\""
2,"Товар 2"
.....
100000000,"Товар 100000000 \\ 123"

4.
FLUSH TABLE test_csv;

5. Используя всю мощь SQL пишем любые запросы
SELECT * FROM test_csv WHERE name LIKE '%name%'

6. При необходимости конвертим CSV таблицу в нормальную (но это уже конечно не быстро)
ALTER TABLE test_csv ENGINE = Innodb;

создаём необходимые индексы, радуемся жизни

Это пожалуй самый быстрый способ загрузки данных в MySQL, быстрее чем через LOAD DATA

Так то из паркета (не говоря уж о CSV) умеет читать Clickhouse, который в разы эффективнее справится с аналитическими запросами

А вы с кликхаузом работаете? сильно сложно сним жить? ну если сравнивать с mysql? Смотрел видео яндексоидов с их презентацией кликхауза- ну просто песня- какаято немыслимая производительность на тайм-сериес-дате. все хочу поставить попробовать но пока руки не доходят какойнибудь старый комп под это дело подшаманить…
Под попробовать вполне подшаманить какой-нибудь старый VirtualBox. И в виндах десятках, хоть и не во всех, есть linux subsystem
Sign up to leave a comment.

Articles