Size: a a a

2019 April 15

AA

Anton Alekseev in Moscow Spark
читаю из hdfs
источник

AA

Anton Alekseev in Moscow Spark
Я вообще из доков не совсем понял как он читает, сразу по нодам кластера или сперва распаковывает драйвером парсит и разливает.😰 Киньте учебником, Learning
Spark не пролил свет.
источник

DG

Denis Gabaydulin in Moscow Spark
Тут слишком много вопросов :-)
1. В общем случае, читает по нодам. Но есть нюансы.

2. CSV - не колоночный формат, поэтому читать придеться целиком.

3. Parquet- колоночный. Он рулит за счет чтения не всех колонок, push down predicate и продвинутого сжатия типа delta encoding и прочих.

pandas collect что делает?

Читать можно:
* https://www.oreilly.com/library/view/learning-spark/9781449359034/
* https://www.amazon.com/High-Performance-Spark-Practices-Optimizing/dp/1491943203
источник

AS

Andrey Smirnov in Moscow Spark
Learning
Spark старая книга, лучше возьми spark in action (как начальную)
источник

AA

Anton Alekseev in Moscow Spark
Pandas collect, делаю toPandas, по сути коллект на драйвер и перевод в python Pandas датафрейм, это все.
источник

AA

Anton Alekseev in Moscow Spark
Как то уж очень быстро для 100 csv отработал.
источник

N

Nikolay in Moscow Spark
Csv тоже каждому воркеру не нужно целиком читать.
источник

KS

Kostya Shchetkin in Moscow Spark
Anton Alekseev
Pandas collect, делаю toPandas, по сути коллект на драйвер и перевод в python Pandas датафрейм, это все.
а какой версии спарк? может там arrow помогает?
источник

AA

Anton Alekseev in Moscow Spark
Kostya Shchetkin
а какой версии спарк? может там arrow помогает?
2.4. Тогда непонятно почему он паркету не помогает. Кстати да, не уточнил, pyarrow заэнейблен:)
источник

AA

Anton Alekseev in Moscow Spark
Можно как-то пробить где партиции расположились? Может такое быть что все на драйвере и он по быстрому их собрал.
источник

AA

Anton Alekseev in Moscow Spark
Denis Gabaydulin
Тут слишком много вопросов :-)
1. В общем случае, читает по нодам. Но есть нюансы.

2. CSV - не колоночный формат, поэтому читать придеться целиком.

3. Parquet- колоночный. Он рулит за счет чтения не всех колонок, push down predicate и продвинутого сжатия типа delta encoding и прочих.

pandas collect что делает?

Читать можно:
* https://www.oreilly.com/library/view/learning-spark/9781449359034/
* https://www.amazon.com/High-Performance-Spark-Practices-Optimizing/dp/1491943203
Получается из-за этого ("читать придеться целиком") такое (одна) количество партиций для одного csv получается, верно?
источник

GP

Grigory Pomadchin in Moscow Spark
Anton Alekseev
Можно как-то пробить где партиции расположились? Может такое быть что все на драйвере и он по быстрому их собрал.
глянь сколько партиций у тебя сразу после прочтения csv в твоем дф
источник

AA

Anton Alekseev in Moscow Spark
Grigory Pomadchin
глянь сколько партиций у тебя сразу после прочтения csv в твоем дф
Вот это они и есть в табличке.
источник

GP

Grigory Pomadchin in Moscow Spark
Anton Alekseev
Вот это они и есть в табличке.
а что значит parts100-split?
источник

AA

Anton Alekseev in Moscow Spark
Grigory Pomadchin
а что значит parts100-split?
100 частей - 6 партиций
источник

AA

Anton Alekseev in Moscow Spark
Один файл на 100 частей поделил
источник

GP

Grigory Pomadchin in Moscow Spark
как ты сделал эти 100 частей
источник

AA

Anton Alekseev in Moscow Spark
Через пандас/numpy и for
источник

AA

Anton Alekseev in Moscow Spark
for idx, frame in enumerate(np.split(df, 100)):
   frame.to_csv('D:/tmp/part_%s.csv.gz'%(idx), compression='gzip')
источник

AA

Anton Alekseev in Moscow Spark
Блин, мой косяк. Вообщем toPandas вообще фейлился по месту и возвращал пустой датафрейм, и не исполнялся по факту, но ошибку не выбрасывал. Только в джобах на вебморде увидел.
источник