java操作spark案例
@TOCspark入门使用(java)官方文档:https://spark.apache.org/docs/latest/api/java/index.html导入依赖创建maven项目并导入依赖,注意spark的版本<!--spark的核心依赖--><dependency><groupId>org.apache.spark</groupId><
·
spark入门使用(java)
官方文档:https://spark.apache.org/docs/latest/api/java/index.html
导入依赖
创建maven项目并导入依赖,注意spark的版本
<!--spark的核心依赖-->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>2.4.4</version>
</dependency>
<!---spark-sql分析-->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>2.4.4</version>
</dependency>
java操作spark入门使用
创建一个java程序,编写代码
JavaSparkContext来连接
//初识spark
private static void hello() {
// 创建spark入口对象,在本地运行使用local
JavaSparkContext sc=new JavaSparkContext("local","hello");
List<Integer> x=new ArrayList<Integer>();
x.add(1);
x.add(5);
x.add(3);
// 获取并行集合
JavaRDD<Integer> rdd = sc.parallelize(x);
//把集合中的每一个元素+1
JavaRDD<Integer> a = rdd.map(y -> y + 1);
//执行计算
System.out.println(a.collect());
}
从外部文件中操作rdd
在项目下创建data目录,并新建a.csv文件
private static void rdd2() {
// 1.创建spark入口对象
JavaSparkContext sc=new JavaSparkContext("local","hello");
//2.读取外部文件创建rdd,以字符串读取
JavaRDD<String> rdd = sc.textFile("data/a.csv");
//3.把文件内容使用,分割
JavaRDD<String[]> a = rdd.map(x -> x.split(","));
System.out.println(a.collect());
sc.stop();
}
//运行会得到割后的数组
//优化后
public static void rdd2() {
// 创建spark入口对象
JavaSparkContext sc=new JavaSparkContext("local","hello");
//读取外部文件创建rdd
JavaRDD<String> rdd = sc.textFile("data/a.csv");
// 把文件内容使用,分割
JavaRDD<String[]> a = rdd.map(x -> x.split(","));
List<String[]> list = a.collect();
for(String[] num: list){
for(String i : num){
System.out.println(i);
}
}
System.out.println(a.collect());
sc.stop();
}
去重操作
//去重
private static void repeat() {
//设置账号
System.setProperty("HADOOP_USER_NAME","root");
// 创建spark入口对象
JavaSparkContext sc=new JavaSparkContext("local","hello");
JavaRDD<String> rdd = sc.textFile("data/data.csv");
//唯一化,调用去重
JavaRDD<String> a = rdd.distinct();
//保存文件到HDFS
//saveAsTextFile("");指定保存路径,默认当前项目下创建,也可指定服务器上的文件
// a.saveAsTextFile("out");
a.saveAsTextFile("hdfs://master:9000/spk/out");
System.out.println(a.collect());
sc.stop();
}
在服务器上运行
在idea这种写好程序并进行打包
mvn clean package
把jar包上传到服务器上
然后打包运行
spark-submit --master spark://master:7077 --class 程序全名 jar包名
更多推荐
已为社区贡献1条内容
所有评论(0)