一.今日小故事
闻鸡起舞
二.用java实现spark wordcount
步骤
1.初始化spark conf, 设置app name
SparkConf conf = new SparkConf(); conf.setAppName("JavaSparkWordCount-4-job011");
2.//构建java spark context
JavaSparkContext jsc =new JavaSparkContext(conf);
3.定义输入文件,本地或是hdfs等均可
if (args == null || args.length != 1) { System.err.println("传参有误 ,请检查!!!"); System.exit(-1); } String localFilePath = args[0];
4.构建file rdd=line rdd
JavaRDD
5.lines rdd -> word rdd
JavaRDD
6.word rdd -> (word,1)的rdd
JavaPairRDD
7.(word,1)的rdd ->(word,freq)的rdd
JavaPairRDD
8.将(word,freq) rdd -> collect 落地形成本地对象
List
9.将对象数据打印出来
for (Tuple2
10.关闭上下文环境
jsc.stop();
三.在linux生产环境
#! /bin/sh # 配置成hadoop配置文件存放目录 export HADOOP_CONF_DIR=/usr/hdp/3.1.0.0-78/hadoop/conf/ spark-submit --class com.tl.job014.spark.SparkWordCount4Java --master local[2] --driver-memory 512m --executor-memory 512m --num-executors 2 jar包所在的路径 文件所在的路径
注意事项:
yarn-client与yarn-cluster的区别
联系
两者都是通过yarn集群工作,都不可以访问本地的工作文件
区别
yarn-client 是在入口机上工作的,所以记过会打印在入口机上
yarn-cluster是在yarn的工作节点上的工作的,所以在入口机上看不见结果,得在yarn的集群上查看
在末端拼接的时候不可以在中间插入
filtermap 和map的区别
filtermap,是用来处理一行里有多个字段的,进行打散的操作
map,他只读,不



