GNU Parallel 教程中的 "partial record" 是什么意思?
What does "partial record" mean in the statement from GNU Parallel tutorial?
在此tutorial中断言此语句:
One of the 4 instances got a single record, 2 instances got 2 full records each, and one instance got 1 full and 1 partial record.
但就在该声明之前,出现了这个看似矛盾的声明:
The size of the chunk is not exactly 1 MB because GNU
parallel only passes full lines - never half a line, thus the
blocksize is only 1 MB on average.
询问是因为我看到似乎是部分记录发送到接收记录的程序之一,这破坏了程序。
所以部分(一定数量但不是全部)record/line 是否曾发送给接收方 stream/program?
您在文档中发现了一个错误。恭喜。
它应该读作 block 而不是 record。
部分块是输入的最后一个块,大小不超过 1 MB。在示例中,最后一个“尾”块是 450 KB。
num1000000 是 6888896 字节 = 6 MB + 450 KB。
一切都被发送到程序 - 也是最后一个块。您可以通过 运行:
说服自己这是真的
cat num1000000 | wc
cat num1000000 | parallel --pipe --block 2M cat | wc
cat num1000000 | parallel --pipe --block 1M cat | wc
cat num1000000 | parallel --pipe --block 123456 cat | wc
在此tutorial中断言此语句:
One of the 4 instances got a single record, 2 instances got 2 full records each, and one instance got 1 full and 1 partial record.
但就在该声明之前,出现了这个看似矛盾的声明:
The size of the chunk is not exactly 1 MB because GNU parallel only passes full lines - never half a line, thus the blocksize is only 1 MB on average.
询问是因为我看到似乎是部分记录发送到接收记录的程序之一,这破坏了程序。
所以部分(一定数量但不是全部)record/line 是否曾发送给接收方 stream/program?
您在文档中发现了一个错误。恭喜。
它应该读作 block 而不是 record。
部分块是输入的最后一个块,大小不超过 1 MB。在示例中,最后一个“尾”块是 450 KB。
num1000000 是 6888896 字节 = 6 MB + 450 KB。
一切都被发送到程序 - 也是最后一个块。您可以通过 运行:
说服自己这是真的cat num1000000 | wc
cat num1000000 | parallel --pipe --block 2M cat | wc
cat num1000000 | parallel --pipe --block 1M cat | wc
cat num1000000 | parallel --pipe --block 123456 cat | wc