6.3
RDD
硬盘提取
public class Spark03_RDD_Disk {
public static void main(String[] args) {
final SparkConf conf = new SparkConf();
conf.setMaster("local");
conf.setAppName("spark");
final JavaSparkContext jsc = new JavaSparkContext(conf);
// TODO 创建RDD数据处理模型
// 利用环境对象对接磁盘数据源,构建RDD对象
//textFile 方法可以传递一个参数:文件路径
final JavaRDD<String> rdd = jsc.textFile("D:\\IDEA 2023.2.2\\xiangmu\\spark\\big-data\\data\\text.txt");
final List<String> collect = rdd.collect();
collect.forEach(System.out::println);
jsc.close();
}
}
内存
public class Spark02_RDD_Memory_Partition {
public static void main(String[] args) {
final SparkConf conf = new SparkConf();
conf.setMaster("local");
conf.setAppName("spark");
final JavaSparkContext jsc = new JavaSparkContext(conf);
//TODO kafka 可以将数据进行切片(减小规模),也称之为分区,这个分区操作时底层完成的。
// local环境中,分区数量和环境核数量相关,但是一般不推荐
// 分区数量需要手动设定
final List<String> names = Arrays.asList("zhangsan", "lisi", "wangwu");
//TODO parallelize方法可以传递两个参数
// 第一个参数 对接的数据源集合
// 第二个参数 切片(分区)数量
final JavaRDD<String> rdd = jsc.parallelize(names,3);
//TODO 将数据模型分区后的数据保存到磁盘文件中
// saveAsTextFile方法可以传递一个参数,表示输出的文件路径,路径可以为绝对路径 也可以为相对路径
// IDEA 中默认的相对路径以项目的根路径为准
rdd.saveAsTextFile("output1");
jsc.close();
}
}