Создание PairedRDD из текстовых файлов в Спарк

голоса
0

У меня есть сомнения, с Apache Спарк с использованием кодирования Java. У меня есть пример файла в виде простого текста, составленного парами разделенных Tab полукокса. Что-то вроде этого:

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

и я читал некоторые книги в Интернете , и они предполагают , что это код , чтобы создать pairedRDD с использованием первой строки строки в качестве ключа, а второй столбец в качестве значения. Таким образом , они используют Tuple2 (от Скале).

Но я не могу понять , почему все примеры , которые я вижу, создать кортеж, инициализация объекта со значением в качестве всей линии. Поскольку ключ является только [0] x.split () [0] функция. и значение , кажется, вся линия.

Это правильно? или я должен заменить его x.split () [1] (для значения)?

Приведенный ниже код является то, что я нашел во многих примерах источников в Интернете.

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

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

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

}
Задан 02/09/2018 в 05:18
источник пользователем
На других языках...                            


1 ответов

голоса
0

Это всего лишь пример. Вы можете вернуть х [1] или х. Я не знаю точный контекст, но я видел этот стиль, например здесь, в прошлом, насколько я помню.

Таким образом, ваш выбор, нет правильного или неправильного. Для меня, я бы на себя х [1], но в равной степени х [0] можно рассматривать как ключ к линии.

Урок здесь: вы можете сделать оба. С этого момента вы можете уменьшить (ByKey) или groupByKey , например. Вот что аа PairedRDD может сделать.

Ответил 02/09/2018 в 21:08
источник пользователем

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