2015-04-29 2 views
1

У меня действительно большой набор данных, хранящийся на Hadoop (кластер YARN), на котором я хочу обучить классификатор векторной машины поддержки. Функции извлекаются из каждой точки данных из набора данных и сохраняются в формате LibSVM. Spark MLLib может читать эти файлы с помощью MLUtils.LoadLibSVMFile (контекст JavaSparkContext, String directory). Каждый файл имеет одну строку с удвоением, заканчивающимся символом новой строки. Строка представляет значения признаков.Как слить текстовые файлы, используя сопоставление и сокращение в Java Spark MLLib?

Я хочу объединить все эти файлы в JavaRDD. Могу ли я использовать .textFile ("../*") с некоторыми словами .join или .union? Я не понимаю, как это сделать ...

Не могли бы вы быть добрыми, чтобы помочь? Я думаю, что больше людей хотели бы знать, как это сделать эффективно.

ответ

0

SparkContext.textFile("/path/to/file/*") будет читать все сопоставленные файлы и представляют собой один большой RDD.

И я думаю, MLUtils.LoadLibSVMFile(sc, "/path/to/file/*") загрузит все ваши функции для вас. Ты пробовал?

+0

Вы правы :) MLUtils.LoadLibSVMFile (sc, "/ path/to/file/*") действительно загружает все необходимые мне функции. Возможно, вы знаете, где я могу найти версию ядра RBF для Spark или некоторых людей, с помощью которых мы можем сделать такое расширение линейного ядра уже доступным? – blpasd

+0

Я думаю, что люди уже [работают на нем] (https://issues.apache.org/jira/browse/SPARK-4638). Надеюсь, у вас есть терпение :) – davidshen84

+0

Спасибо за ссылку! У меня есть терпение, но также хочу внести свой вклад :) Но это написано в Scala, поэтому я, вероятно, не могу использовать его в Java? (Я пишу свой код на Java) – blpasd