In Spark, kann ich jedochFunken parallelize und Partition Schlüssel
sc.parallelize([(0, 0), (1, 1), (0, 2), (1, 3), (0, 4), (1, 5)], 2).partitionBy(2)
tun, das erste verteilt die Daten über die Knoten des Clusters, nur um dann mischt es wieder. Gibt es eine Möglichkeit, per Schlüssel sofort zu partitionieren, wenn die Daten vom Treiberprogramm eingegeben werden?
Es ist möglich, Datenbewegungen zu vermeiden, indem zuerst lokale Daten organisiert werden, aber es sieht wie ein künstliches Problem aus. Sie sollten niemals 'parallelize' verwenden, um Daten zu übergeben, die groß genug sind, damit ein nachfolgendes Shuffle ein Problem darstellt. – zero323