В основном я хочу что-то вроде этого,Как сгенерировать случайный РДД в Java Спарк
int count = 100;
Java<String> myRandomRDD = generate(count, new Function<String, String>() {
@Override
public String call(String arg0) throws Exception {
return RandomStringUtils.randomAlphabetic(42);
}
});
Теоретически я мог бы использовать Спарк RandomRDD
, но я не могу заставить его работать правильно. Я ошеломлен выборами. Должен ли я использовать RandomRDDs::randomRDD
или RandomRDDs::randomRDDVector
? Или я должен использовать RandomVectorRDD
?
Я пробовал следующее, но я даже не могу заставить синтаксис быть правильным.
RandomRDDs.randomRDD(jsc, new RandomDataGenerator<String>() {
@Override
public void setSeed(long arg0) {
// TODO Auto-generated method stub
}
@Override
public org.apache.spark.mllib.random.RandomDataGenerator<String> copy() {
// TODO Auto-generated method stub
return null;
}
@Override
public String nextValue() {
RandomStringUtils.randomAlphabetic(42);
}
}, count, ??);
Документация разрежена, я смущен, и я был бы признателен за любую помощь.
Спасибо!
Помните, если я спрошу, для чего это необходимо? Так как если его для тестирования подхода на основе scalacheck может быть лучше (но в противном случае мы можем вникнуть в RandomRDD). – Holden
Я генерирую переменную широковещания и пытаюсь настроить память драйвера и spark.driver.maxResultSize.Поэтому лучший подход, который я вижу, - создать репрезентативный RDD, затем вызвать сборку, и посмотреть, получаю ли я кучу ошибок Java или OutOfMemoryError. В противном случае мне нужно ждать 8 часов, чтобы переменная широковещания была заполнена с 1 месяца данных. – 0111001101110000
Ах, тогда, похоже, что использование RandomRDD было бы хорошим вариантом. – Holden