Разверните векторные столбцы в скалярные столбцы в Apache Spark в pyspark

Я вспомнил, что читал об этом в стандарте, поэтому здесь идет:

См. стандарт C11, который определяет, как ведут себя стандартные потоки, поскольку программы на C ++ взаимодействуют с CRT, стандарт C11 должен регулировать политику промывки здесь .

ISO / IEC 9899: 201x

7.21.3 §7

При запуске программы три текстовых потока предопределены и их не нужно открывать явно - стандартный ввод (для чтения обычного ввода), стандартный вывод (для записи обычного вывода) и стандартная ошибка (для записи диагностического вывода). Как первоначально было открыто, стандартный поток ошибок не полностью буферизирован; стандартные входные и стандартные выходные потоки полностью буферизуются тогда и только тогда, когда можно определить поток, чтобы не ссылаться на интерактивное устройство.

7.21.3 §3

Когда поток небуферизованные, символы должны появляться из источника или в пункте назначения как можно скорее. В противном случае символы могут накапливаться и передаваться в или из среды хоста в виде блока. Когда поток полностью буферизирован, символы предназначены для передачи в или из среды хоста в виде блока при заполнении буфера. Когда поток буферизируется по строке, символы предназначены для передачи в среду хоста или из нее как блок, когда встречается символ новой строки. Кроме того, символы предназначены для передачи в виде блока в среду хоста при заполнении буфера, когда ввод запрашивается в небуферизованном потоке или когда запрос запрашивается в потоке с буферизацией, который требует передачи символов из среды хоста , Поддержка этих характеристик определяется реализацией и может быть затронута с помощью функций setbuf и setvbuf.

Это означает, что std::cout и std::cin полностью буферизованы тогда и только тогда, когда они ссылаясь на неинтерактивное устройство. Другими словами, если stdout подключен к терминалу, то нет никакой разницы в поведении.

Однако, если std::cout.sync_with_stdio(false) вызывается, то '\n' не приведет к отключению даже для интерактивных устройств. В противном случае '\n' эквивалентно std::endl, если только не конвейер в файлы: c ++ ref на std :: endl .

0
задан Yashwanth Madaka 20 March 2019 в 15:37
поделиться