Size: a a a

2021 August 01

SI

Sergey Ivanychev in Moscow Spark
Да, но в момент записи файла сплит может попасть на середину строки, разве нет?
источник

А

Алексей in Moscow Spark
Речь выше шла про чтение
источник

SI

Sergey Ivanychev in Moscow Spark
Не, речь шла про запись одного жирного csv файла на HDFS, где размер файла больше размера блока
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Как это фищичски работает с орками я пони. А вот с csv — нет
источник

ЕГ

Евгений Глотов... in Moscow Spark
Ищется пробел где-то в районе 128 мегабайт
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Да и с чтением нетривиально — надо каким=то образом распределённый консенсус о том, кому принадлежат пересекаюшиеся строки
источник

ЕГ

Евгений Глотов... in Moscow Spark
Fseek в хадупе работает
источник

ПФ

Паша Финкельштейн... in Moscow Spark
не так просто — значение в csv имеет право иметь перенос строки внутри
источник

ПФ

Паша Финкельштейн... in Moscow Spark
надо полноценный парсинг csv
источник

ЕГ

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

ПФ

Паша Финкельштейн... in Moscow Spark
ну давай проверим штоль
источник

ЕГ

Евгений Глотов... in Moscow Spark
Но конкретно как появляется инпут сплит из цсв, можно попробовать в коде найти
источник

ЕГ

Евгений Глотов... in Moscow Spark
По-моему это ещё хадуп до спарка умел делать
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Это реализуемо, но потенциально может создавать ошибки, я бы ожидал что такого не будет
источник

ЕГ

Евгений Глотов... in Moscow Spark
Вот если один цсв в гзипе, тогда сорян, только весь файл в одну партицию, а так нет, вполне должен делиться
источник

ЕГ

Евгений Глотов... in Moscow Spark
Наверно он ищет несколько строк, чтобы не нарваться на экранирование
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Seq(("a", "b"), ("""aaa
aaa""", """bbb
bbb""")).toDS()
.repartition(1)
.write
.csv("/tmp/test")

вот такое работает как ожидалось — создаёт переносы строк
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Там так просто не отделаешься, реально парсить надо
источник

ПФ

Паша Финкельштейн... in Moscow Spark
> cat /tmp/test/part-00000-66e518ef-abb4-4905-a7e4-d12302c9f94e-c000.csv
a,b
"aaa
aaa","bbb
bbb"
источник

ПФ

Паша Финкельштейн... in Moscow Spark
И их может ьыть сколько угодно потенциально
источник