spark组件-spark core(批处理)-rdd创建

1. 从集合创建‌

通过 SparkContext.parallelize() 或 makeRDD() 将本地集合(如 List)转换为 RDD,可手动指定分区数:

java 复制代码
List<String> list = Arrays.asList("hello", "hi", "spark", "world", "hi");
JavaRDD<String> javaRDD = sc.parallelize(list, 2);

2. 从外部存储创建‌

支持 HDFS、本地文件系统等数据源,如

java 复制代码
JavaRDD<String> stringRDD = sc.textFile("hdfs://path/file.txt") ‌

3. 从其他 RDD 转换‌

通过转换算子(如 map、groupByKey)生成新 RDD,形成血缘关系链。

例子

java 复制代码
package com.spark.qichsiii.core.a_rdd_create;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;

import java.util.Arrays;
import java.util.List;

public class RddCreationFromCollection {
    public static void main(String[] args) {
        // 1.创建配置对象
        SparkConf conf = new SparkConf().setMaster("local[*]").setAppName("RddCreation");
        // 2.创建sparkContext
        JavaSparkContext sc = new JavaSparkContext(conf);
        // 3.编写代码
        // a.集合创建
        JavaRDD<String> stringRDD = sc.parallelize(Arrays.asList("hello","spark"));
		// b.从外部存储创建
		//JavaRDD<String> stringRDD = sc.textFile("input") ‌
        List<String> collect = stringRDD.collect();

        for(String s: collect){
            System.out.println(s);
        }
        // 4.关闭sc
        sc.stop();
    }
}
相关推荐
黄雪超1 小时前
从流批一体到湖仓一体架构演进的思考
大数据·架构·数据湖
小坏讲微服务3 小时前
Spring Boot整合Redis注解,实战Redis注解使用
spring boot·redis·分布式·后端·spring cloud·微服务·mybatis
筑梦之人3 小时前
Spark-3.5.7文档1 - 快速开始
spark
Elastic 中国社区官方博客5 小时前
Observability:适用于 PHP 的 OpenTelemetry:EDOT PHP 加入 OpenTelemetry 项目
大数据·开发语言·人工智能·elasticsearch·搜索引擎·全文检索·php
liudongyang1235 小时前
麒麟系统离线安装Rabbitmq
分布式·rabbitmq
冰芒芒9 小时前
Kafka-2 Kafka的特点
分布式·kafka
白鲸开源10 小时前
实战干货:Apache DolphinScheduler 参数使用与优化总结
大数据·程序员·开源
yumgpkpm10 小时前
CMP(类Cloudera CDP 7.3 404版华为Kunpeng)与其他大数据平台对比
大数据·hive·hadoop·elasticsearch·kafka·hbase·cloudera
KYumii10 小时前
RabbitMQ快速上手
分布式·rabbitmq
快乐的流畅11 小时前
iChat:RabbitMQ封装
分布式·rabbitmq·ruby