spark入门(1)

本文是Spark入门系列的第一部分,主要介绍了RDD(Resilient Distributed Dataset)的基本概念和特点。RDD是Spark的核心数据结构,具备分布式存储、内存优先以及数据可靠性的特性。此外,还涉及了Spark编程的一些细节,包括编程规范和常用的IDE快捷键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. RDD

1.1 RDD的定义

RDD:resilient distributed dataset 弹性分布式数据集

  • dataset:数据封装到集合中
  • distributed:分布式存储数据
  • resilient:数据优先存储在内存中,如果内存空间不足,再溢写到磁盘中

1.2 RDD的特点

  • 分布式存储:数据分区
  • 内存优先:内存 > 磁盘
  • 数据可靠性:血统机制

2 编程细节

2.2 编程规范

  • 类名:大写字母开头
  • 字段名/成员名:小写字母开头

2.3 快捷键

  • 格式化代码:ctrl+alt+L
  • 自动补齐代码:ctrl+J
  • 注释代码:ctrl+/

2.1 构建工程步骤

  • 新建空项目(New-Project)
    在这里插入图片描述
    在这里插入图片描述
  • 新建模块(New-Module-Maven)

    在这里插入图片描述
  • 配置pom.xml文件
    在已有内容的中间中插入以下内容,其中关于spark.version和scala.version视情况指定。
    <properties>
        <spark.version>2.4.5</spark.version>
        <scala.version>2.11</scala.version>
    </properties>
    <repositories>
        <repository>
            <id>nexus-aliyun</id>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>

            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <version>2.15.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>

        </plugins>
    </build>

  • 构建工程目录结构
    在这里插入图片描述
  • 创建包(Package)
    在这里插入图片描述
  • 创建代码文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值