Spark JavaRDD<String> to csv dataset

159
07 марта 2019, 16:20

Что мы имеем:

stream.foreachRDD(rdd->{
        JavaRDD<String> javaRDD=rdd.map(elem -> elem.value());
        Dataset ds = //Any transformations
        sc.read().schema(csvSchema).csv(ds).write();
});

Каковы идеи
1) Плохая, потому что используется .collect()

sc.sqlContext().createDataset(javaRDD.collect(), Encoders.STRING())

2) 'StringType cannot be cast to StructType', может можно map, но StructType::fromString не компилируется

sc.sqlContext().createDataFrame(javaRDD,String.class)

3) Без схемы
Плохо из-за низкой гибкости модели, читаемости кода(30+ полей), неконтролируемый порядок полей - в алфавитном порядке (наприм. пишу в parquet для impala)

   JavaRDD<String> javaRDD=rdd.map(elem -> new Model(elem.value()));
   sc.sqlContext().createDataFrame(javaRDD,Model.class);
READ ALSO
Как сделать авто скрол с offset для RecyclerView

Как сделать авто скрол с offset для RecyclerView

У меня есть горизонтальный RecyclerView который автоматически листает контент раз в 3 секунды

165
Использование docker-образа с Testcontainers

Использование docker-образа с Testcontainers

Всем приветДля меня Testcontainers абсолютно новая тема, поэтому возник вопрос

183
VenoBox - слишком большой margin-top, margin-bottom

VenoBox - слишком большой margin-top, margin-bottom

Сайт на WordPress, при открытии фотографии уvbox-content слишком большой margin-top и margin-bottom

150
Почему не работает плеер в v-for?

Почему не работает плеер в v-for?

Есть плеер с сервиса yohoho(не реклама)Беру их скрипт, добавляю в index

150