Size: a a a

2019 February 08

AA

Anton Alekseev in Moscow Spark
Евгений Глотов
На этом наши полномочия всё, окончены)
да, буду разбираться, спасибо)
источник

AA

Anton Alekseev in Moscow Spark
Евгений Глотов
Фетчфэйлед - может где-то доступов нет, connection refused?
Починил. В hosts дич была прописана. Еще вопрос подскажите как вы схему для чтения датафрейма формируете? Я читаю первую строку обычным python с локального файла и потом с готовой схемой читаю весь файл с hdfs уже спарком. Проблема что нужны локальные копии, решение тут либо через спарк одну строку прочесть в hdfs и сделать схему, либо ставить драйвер, чтобы прочесть эту строку через python и также читать с hdfs. Файл корявый поэтому автоматическая схема может криво отработать, необходимо явно её задать. sc.textFile().first не откроет весь файл? Из доки непонятно.
источник

ЕГ

Евгений Глотов... in Moscow Spark
Anton Alekseev
Починил. В hosts дич была прописана. Еще вопрос подскажите как вы схему для чтения датафрейма формируете? Я читаю первую строку обычным python с локального файла и потом с готовой схемой читаю весь файл с hdfs уже спарком. Проблема что нужны локальные копии, решение тут либо через спарк одну строку прочесть в hdfs и сделать схему, либо ставить драйвер, чтобы прочесть эту строку через python и также читать с hdfs. Файл корявый поэтому автоматическая схема может криво отработать, необходимо явно её задать. sc.textFile().first не откроет весь файл? Из доки непонятно.
У вас csv?
источник

AA

Anton Alekseev in Moscow Spark
Евгений Глотов
У вас csv?
да
источник

ЕГ

Евгений Глотов... in Moscow Spark
Тогда можно просто spark.read.option("inferSchema", "true").csv("path/to/file")
источник

AA

Anton Alekseev in Moscow Spark
Евгений Глотов
Тогда можно просто spark.read.option("inferSchema", "true").csv("path/to/file")
файл корявенький, у него может быть вся колонка пустая, мне тогда наны нужны, поэтому я явно все (кроме одной) колонки к float привожу. InferSchema по идее некорректно отработает, не?
источник

ЕГ

Евгений Глотов... in Moscow Spark
Можно тогда просто без инферсхемы вручную привести
источник

AA

Anton Alekseev in Moscow Spark
Евгений Глотов
Можно тогда просто без инферсхемы вручную привести
мне это дороговато показалось? Или все равно быстрее чем через python?
источник

ЕГ

Евгений Глотов... in Moscow Spark
А что дороговато-то?
источник

ЕГ

Евгений Глотов... in Moscow Spark
Каст работает в любом случае
источник

AA

Anton Alekseev in Moscow Spark
Ну каст типов на каждую колонку
источник

ЕГ

Евгений Глотов... in Moscow Spark
Читается-то строковым образом
источник

AA

Anton Alekseev in Moscow Spark
окей, видимо переусложнил
источник

ЕГ

Евгений Глотов... in Moscow Spark
Рекомендую почитать, что в инферсхеме под капотом, например, там не кастится в date, только в timestamp
источник

AA

Anton Alekseev in Moscow Spark
Евгений Глотов
Рекомендую почитать, что в инферсхеме под капотом, например, там не кастится в date, только в timestamp
окей гляну, я пока через каст сделал.
источник

AA

Anton Alekseev in Moscow Spark
Инфер если он как пандасовское автоопределение типов работает, будет медленный, поэтому еще предпочитаю явную схему
источник

AA

Anton Alekseev in Moscow Spark
И samplingRatio не спасёт, если фреймы разряженные
источник

PB

Pavel Bezglasnyi in Moscow Spark
Anton Alekseev
Инфер если он как пандасовское автоопределение типов работает, будет медленный, поэтому еще предпочитаю явную схему
Если схема не меняется можешь сделать раз инферн, сохранить в json и потом его использовать в качестве схемы
источник

AA

Anton Alekseev in Moscow Spark
Pavel Bezglasnyi
Если схема не меняется можешь сделать раз инферн, сохранить в json и потом его использовать в качестве схемы
каждый день новая прилетает:(
источник

AA

Anton Alekseev in Moscow Spark
тут по хорошему надо сам формат данных менять
источник