Criando PairedRDD de textfiles em faísca

votos
0

Eu tenho uma dúvida com Apache faísca usando codificação Java. Eu tenho um arquivo de exemplo em texto simples composta por pares separados por Tab caractere. Algo assim:

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

e eu estava lendo alguns livros sobre a internet e eles sugerem que este código para criar um pairedRDD usando a primeira linha da linha como a chave, ea segunda coluna como o valor. Então eles usam a Tuple2 (a partir de scala).

Mas eu não posso entender por que todos os exemplos que eu vejo, criar a tupla, inicializar o objeto com o valor que a toda linha. Uma vez que a chave é apenas a do [0] x.split) [0] ( função. eo valor parece ser toda a linha.

Isso é correto? ou devo substituí-lo por x.split () [1] (para o valor)?

O código abaixo é o que eu encontrei em muitas fontes exemplo na web.

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

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

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

}
Publicado 02/09/2018 em 05:18
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

É apenas um exemplo. Você pode retornar x [1] ou x. Eu não sei o contexto exato, mas eu vi este estilo de exemplo aqui no passado, tanto quanto me lembro.

Assim, a sua escolha, há certo ou errado. Para mim, eu diria que os x [1], mas igualmente os x [0] pode ser visto como a chave para uma linha.

A lição aqui é: você pode fazer as duas coisas. A partir daí você pode reduzir (ByKey) ou groupByKey , por exemplo. Isso é o que aa PairedRDD pode fazer.

Respondeu 02/09/2018 em 21:08
fonte usuário

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