Opprette PairedRDD fra tekstfiler i Spark

stemmer
0

Jeg har en tvil med Apache Spark ved hjelp av Java koding. Jeg har en eksempel fil i ren tekst består av par adskilt med Tab røye. Noe sånt som dette:

** example.txt
1   5
2   7
5   4
**

og jeg leste noen bøker på internett og de foreslår denne koden for å lage en pairedRDD bruke den første raden av linjen som nøkkelen, og den andre kolonnen som verdien. Så de bruker Tuple2 (fra scala).

Men jeg kan ikke forstå hvorfor alle de eksemplene jeg ser, lage tuppel, initialisering objektet med verdien som hele linjen. På grunn av at nøkkelen er kun [0] av den x.split () [0] funksjon. og verdien ser ut til å være hele linjen.

Er dette riktig? eller skal jeg erstatte det ved x.split () [1] (for verdien)?

Koden nedenfor er hva jeg fant i mange eksempel kilder på nettet.

PairFunction<String, String, String> keyData =   new PairFunction<String, String, String>() {

    public Tuple2<String, String> call(String x) {

    return new Tuple2(x.split(” “)[0], x);

}
Publisert på 02/09/2018 klokken 05:18
kilden bruker
På andre språk...                            


1 svar

stemmer
0

Det er bare et eksempel. Du kan returnere x [1] eller x. Jeg vet ikke den eksakte sammenhengen, men jeg har sett denne stilen av eksempel her i det siste så vidt jeg kan huske.

Så, ditt valg, ingen rett eller galt. For meg, vil jeg anta at x [1], men like x [0] kan ses på som nøkkelen til en linje.

Lærdommen her er: du kan gjøre begge deler. Derfra kan du redusere (ByKey) eller groupByKey , for eksempel. Det er det aa PairedRDD kan gjøre.

Svarte 02/09/2018 kl. 21:08
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more