RDD распределен, это означает, что он разделен на некоторое количество частей. Каждый из этих разделов потенциально находится на разных машинах. Разделитель хэшей с помощью arument numPartitions
выбирает, на каком разделе помещать пар (key, value)
следующим образом:
numPartitions
разделы. (key, value)
в раздел с номером Hash(key) % numPartitions
(Подробное описание в можно найти в архивной статье Microsoft KB .)
Три вещи, которые нужно знать:
%1
, %2
, ... echo %myvar%
%%f
Почему это?
Например, если мы выполним вашу (упрощенную) командную строку
FOR /f %f in ('dir /b .') DO somecommand %f
в командный файл, правило 2 попытается интерпретировать
%f in ('dir /b .') DO somecommand %
как переменную. Чтобы этого избежать, вы должны применить правило 3 и выйти из %
со второй %
:
FOR /f %%f in ('dir /b .') DO somecommand %%f
В DOS вы не могли использовать переменные среды в командной строке, только в пакетных файлах, где они использовали знак %
в качестве разделителя. Если вам нужен литеральный знак %
в пакетном файле, например. в echo
, вам нужно было удвоить его.
Это перенесено в Windows NT, которое разрешало переменные среды в командной строке, однако для обратной совместимости вам все равно нужно удвоить знаки %
в файл .cmd.