The scala sc.binaryRecords replicates one record for the entire set.
for example, I am trying to load the cifar binary data where in a big binary file, each 3073 represents a 32x32x3 bytes image with 1 byte for the label label. The file resides on my local filesystem.
.take(5) returns 5 records all the same, .collect() returns 10,000 records all the same.
What is puzzling is that the pyspark one works perfectly even though underneath it is calling the scala implementation.
I have tested this on 2.1.0 and 2.0.0