微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用java maven项目 使用本地文件和HDFS创建RDD

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.api.java.function.Function2;


public class localFiles {
    public static void main(String[] args) {

        //创建Sparkconf
        SparkConf conf = new SparkConf()
                .setAppName("localFiles")
                //如果在HDFS上运行就删除这个
                .setMaster("local");

        //创建JavaSparkcontext
        JavaSparkContext sc = new JavaSparkContext(conf);

        //使用sparkContext以及其子类的textFile()方法,针对本地文件创建RDD
        //在HDFS上运行改路径(E://"hdfs://spark:9000/spark.txt")
        JavaRDD<String> lines = sc.textFile("E://hadoop//maven.txt");

        //统计文本文件的字数
        JavaRDD<Integer> lineslength = lines.map(new Function<String, Integer>() {
            @Override
            public Integer call(String v1) throws Exception {
                return v1.length();
            }
        });

        Integer count = lineslength.reduce(new Function2<Integer, Integer, Integer>() {
            @Override
            public Integer call(Integer v1, Integer v2) throws Exception {
                return v1 + v2;
            }
        });
        System.out.println("单词的总个数是:" + count);
        sc.close();
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐