Bir veri kümesinin sortPartition yöntemi, belirtilen bazı alanlara göre yerel olarak veri kümesini sıralar. Flink'te global olarak sıralanmış büyük Veri kümemi nasıl verimli bir şekilde alabilirim?Genel sıralama, Apache Flink
8
A
cevap
12
Flink, henüz yerleşik bir aralık bölümleme stratejisi sağlanmadığından, bu durum şu anda kolayca mümkün değildir.
A-etrafında çalışma özel birPartitioner
uygulamaktır
:
DataSet<Tuple2<Long, Long>> data = ...
data
.partitionCustom(new Partitioner<Long>() {
int partition(Long key, int numPartitions) {
// your implementation
}
}, 0)
.sortPartition(0, Order.ASCENDING)
.writeAsText("/my/output");
Not: Özel bir bölümleyici ile dengelenmiş bölümleri elde etmek için, anahtarının değeri aralığı ve dağılımı hakkında bilmeniz gereken .
Apache'de bir aralık bölümleyici (otomatik örnekleme ile) desteği şu anda work in progress ve yakında kullanıma hazır olmalıdır.
Düzenleme (Haziran 7th, 2016): Aralık bölümlemesi Apache Flink'e 1.0.0 sürümü ile eklenmiştir. aşağıdaki gibi küresel sıralama veri ayarlayabilirsiniz: numuneleri eşit büyüklükteki bölümleri için bir veri dağılımının hesaplanmasını set giriş verileri bölümleme aralığı
DataSet<Tuple2<Long, Long>> data = ...
data
.partitionByRange(0)
.sortPartition(0, Order.ASCENDING)
.writeAsText("/my/output");
Not.
İlgili konular
- 1. Apache Flink içinde paralellik derecesi
- 2. Apache Flink, Hadoop'ta Mapreduce ile nasıl karşılaştırılır?
- 3. Apache Flink SNAPSHOT öğeleri nasıl içe aktarılır?
- 4. Apache Flink veri akışından kullanım değerleri dinamik olarak ben aşağıdakileri yapar Apache FLINK kullanarak örnek bir uygulama oluşturmak çalışıyorum
- 5. flink Akış NoSuchMethodError: org.apache.flink.api.common.ExecutionConfig.setRestartStrategy
- 6. Apache Flink 1.0.0'da referans yöntemleri destekleniyor mu?
- 7. Apache Flink başarısızlıktan sonra tetik zamanlayıcıları geri yükler mi?
- 8. Neden bir GlobalWindow örneği kullanılır? Bu <a href="https://github.com/apache/flink/blob/master/flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples/windowing/SessionWindowing.java" rel="nofollow">example</a> de
- 9. sorunsuz (bir JobManager ve birkaç TaskManagers ile) Apache Flink kurulumunu standalone için ben akışını dağıtabilir Flink CLI
- 10. flink 3 params
- 11. Flink Scala API "yeterli argümanlar değil"
- 12. ASP.NET Gridview Sıralama sıralama
- 13. Spark vs Flink az hafıza kullanılabilir
- 14. sıralama
- 15. Sıralama
- 16. sıralama
- 17. F arasında sıralama sıralama F #
- 18. Apache
- 19. Apache
- 20. Apache
- 21. Apache Spark vs. Apache Storm
- 22. Apache yapılandırmasında Apache sürümünü algıla?
- 23. Genel nesnelerin genel listesi
- 24. Apache Solr işlevi olarak sırala
- 25. Golang Sıralama paketi - Bulanık sıralama hatası
- 26. Liste sıralama kullanarak STL sıralama işlevi
- 27. Genel
- 28. Topolojik Sıralama
- 29. Sıralama sözlüğü
- 30. Sıralama Swift
1- Veri kümesinde herhangi bir bilgi yoksa, bunları nasıl bölümleyebiliriz? 2- Bunu yapmanın bir yolunu bulduk. Bu komut, genel bir sıralanmış veri kümesi çıktı mı? –
1) Bu iyi bir nokta. Özel bir bölümleyici uygularsanız, dengeli bölümler elde etmek için anahtarın değer aralığını ve dağıtımını bilmelisiniz. Bağlantılı çekme isteğindeki aralık bölümleyici, bir dağılım elde etmek için verileri otomatik olarak örneklendirir. 2) Evet, bölümleri ayırır ve her bir bölümü aynı tuşta sıralarsanız, çıktı genel olarak sıralanır. –