简体   繁体   English

如何转换JavaRDD <list<string> &gt; 到 JavaRDD<string> 并写入没有“[”和“]”的文件</string></list<string>

[英]How to convert JavaRDD<List<String>> to JavaRDD<String> and write to a file without "[" and "]"

I have a JavaRDD<List<String>> and my file is getting written with [] at the beginning and end of each list of strings when I use我有一个JavaRDD<List<String>> ,当我使用时,我的文件在每个字符串列表的开头和结尾都写有 []

javacontext.parallelize(rdd).coalesce(1, true).saveAsTextFile("dirname");

Can we convert JavaRDD<List<String>> to JavaRDD<String> and write it to a file?我们可以将JavaRDD<List<String>>转换为JavaRDD<String>并将其写入文件吗?

You could use map to apply String.join for each List<String> in JavaRDD :您可以使用mapString.join中的每个List<String>应用JavaRDD

String separator = ",";
JavaRDD<String> ys = rdd
        .map(new Function<List<String>, String>() {
            @Override
            public String call(List<String> xs) throws Exception {
                return String.join(separator, xs);
            }
        });

Or using lambdas:或者使用 lambda:

JavaRDD<String> ys = rdd
        .map((Function<List<String>, String>) xs -> String.join(separator, xs));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM