Size: a a a

PiterPy Conf Сhat

2020 August 06

BY

Bulat Yaminov in PiterPy Conf Сhat
Yuliya Volkova
Bulat я еще извиняюсь, если упустила в докладе - а что про изменение данных? мы вообще как-то можем манипулировать с апдейтом данных? допустим нам надо не репорт сделать, а подготовить файл дальше - какие-то значения левые поменять на корректные
Да, Vaex может экспортировать данные в разные форматы. Так что я представляю так: читаем из исходного большого файла, делаем все трансформации memory-efficient, пишем конечный результат в другой большой файл (или коллекцию файлов). В общем то же, что сделал бы Spark.
источник

BY

Bulat Yaminov in PiterPy Conf Сhat
Я не упомянул, что Vaex умеет также читать из списка файлов.
источник

YV

Yuliya Volkova in PiterPy Conf Сhat
Bulat Yaminov
Я не упомянул, что Vaex умеет также читать из списка файлов.
очень круто
источник

YV

Yuliya Volkova in PiterPy Conf Сhat
Bulat Yaminov
хм, а можешь плиз прислать ссылку на доку? Я смотрю сюда: https://www.pytables.org/usersguide/index.html#contents . Я честно говоря ни разу не пользовался.
он интегрируется с пандасом https://pandas.pydata.org/pandas-docs/dev/user_guide/io.html#io-tools-text-csv-hdf5 по факту не корректно выразилась )
источник

YV

Yuliya Volkova in PiterPy Conf Сhat
можно использовать пандас с hdf5
источник

YV

Yuliya Volkova in PiterPy Conf Сhat
Bulat Yaminov
Да, Vaex может экспортировать данные в разные форматы. Так что я представляю так: читаем из исходного большого файла, делаем все трансформации memory-efficient, пишем конечный результат в другой большой файл (или коллекцию файлов). В общем то же, что сделал бы Spark.
супер, спасибо за ответ!
источник

BY

Bulat Yaminov in PiterPy Conf Сhat
Yuliya Volkova
он интегрируется с пандасом https://pandas.pydata.org/pandas-docs/dev/user_guide/io.html#io-tools-text-csv-hdf5 по факту не корректно выразилась )
а, понял! Да, это видел. Ответ такой: действительно, Pandas тоже умеет работать out-of-core в некоторых случаях. Кроме HDF5 там можно и read from CSV by chunks, и таким образом прочитать большую таблицу. Vaex будет быстрее, потому что использует columnar format in the HDF5 file.
источник

YV

Yuliya Volkova in PiterPy Conf Сhat
Bulat Yaminov
а, понял! Да, это видел. Ответ такой: действительно, Pandas тоже умеет работать out-of-core в некоторых случаях. Кроме HDF5 там можно и read from CSV by chunks, и таким образом прочитать большую таблицу. Vaex будет быстрее, потому что использует columnar format in the HDF5 file.
а есть вообще какие-то сложности, чтобы не лезть в Vaex? что-то что может блокировать или в целом библиотека уже в максимально юзер-френдли состоянии и можно не бояться каких-то проблем и идти с большими файлами сразу в Vaex?
источник

BY

Bulat Yaminov in PiterPy Conf Сhat
Не знаю, все ли знают, но HDF5 файл - это скорее "контейнер", в котором можно создавать списки и их метаданные, в виде дерева. То есть можно записать в HDF5 как построчные данные, по колонкам, или гибридно, как в Parquet. Но в итоге не каждая библиотека читает HDF5 файл другой библиотеки - потому что не обязательно даже знает названия списков из метаданных.
источник

BY

Bulat Yaminov in PiterPy Conf Сhat
Yuliya Volkova
а есть вообще какие-то сложности, чтобы не лезть в Vaex? что-то что может блокировать или в целом библиотека уже в максимально юзер-френдли состоянии и можно не бояться каких-то проблем и идти с большими файлами сразу в Vaex?
есть ограничения, по сравнению с Pandas. Например, пока не поддерживаются lists/maps as column types. Также rolling/window пока нет. Но у создателей много энтузиазма сделать Vaex популярным, так что если вам нужна фича - с большой вероятностью мы можем ее заимплементить достаточно быстро 🙂

Например, поддержка lists/maps придет скоро "забесплатно" из новой версии Apache Arrow.

Тут можно посмотреть API, если интересует какая-то конкретная фича: https://vaex.readthedocs.io/en/latest/api.html
источник

IS

Irina Saribekova in PiterPy Conf Сhat
Вопросы Рувену :)
источник

DK

Dmitry Karpov in PiterPy Conf Сhat
for x := (yield y) will it stop by := rather then StopIteration exception in the same way as in previous versions before := would be reached?
источник

AB

Aleksandr Borgardt in PiterPy Conf Сhat
источник

IS

Irina Saribekova in PiterPy Conf Сhat
Reuven Lerner thank you for the talk 🎉
источник

RL

Reuven Lerner in PiterPy Conf Сhat
HI, @dakarpov !  

The StopIteration is produced *by* the generator when it reaches the end.  So if you're using "while x := yield" in your generator, the yield happens first (because it's on the right hand side), and is replaced by what it got from .send.  If that's False in a boolean context, then the while will exit, and then the generator will raise StopIteration.
источник

YV

Yuliya Volkova in PiterPy Conf Сhat
Bulat Yaminov
есть ограничения, по сравнению с Pandas. Например, пока не поддерживаются lists/maps as column types. Также rolling/window пока нет. Но у создателей много энтузиазма сделать Vaex популярным, так что если вам нужна фича - с большой вероятностью мы можем ее заимплементить достаточно быстро 🙂

Например, поддержка lists/maps придет скоро "забесплатно" из новой версии Apache Arrow.

Тут можно посмотреть API, если интересует какая-то конкретная фича: https://vaex.readthedocs.io/en/latest/api.html
поняла, спасибо за подробный ответ )
источник

RL

Reuven Lerner in PiterPy Conf Сhat
In other words, the order is:

- yield returns a value
- yield receives a value (from .send)
- the value is False in a boolean context
- the while loop exits
- the generator exits, raising StopIteration
источник

MM

Maria Mikheyenko in PiterPy Conf Сhat
источник

RL

Reuven Lerner in PiterPy Conf Сhat
@IrinaSaribekova My pleasure, thanks for having me!
источник

IS

Irina Saribekova in PiterPy Conf Сhat
Reuven Lerner
@IrinaSaribekova My pleasure, thanks for having me!
🤗
источник