2
我想實現一個Reshuffle
變換,以防止excessive fusion,但我不知道如何改變版本<KV<String,String>>
處理簡單PCollections。 (描述here如何洗牌PCollection <KV<String,String>>
。)如何重新洗牌PCollection <T>?
我怎麼會加入我的管道更多的步驟之前展開正式的Avro I/O example code重新洗牌?
PipelineOptions options = PipelineOptionsFactory.create();
Pipeline p = Pipeline.create(options);
Schema schema = new Schema.Parser().parse(new File("schema.avsc"));
PCollection<GenericRecord> records =
p.apply(AvroIO.Read.named("ReadFromAvro")
.from("gs://my_bucket/path/records-*.avro")
.withSchema(schema));
你能詳細說一下'AddArbitaryKey'嗎?爲什麼「AddArbitraryKey」的必要性和特殊實現是重要的,即它是否會影響密鑰空間在工作人員中分佈的方式? – harveyxia
應該引起再分配一樣了'Redistribution'變換一種武斷的方式(參見:https://github.com/apache/incubator-beam/pull/1036)。隨機選擇的整數鍵應導致隨機分佈。 – Tobi
謝謝,你的'Redistribution'的用例是什麼? – harveyxia