美文网首页
Spark学习笔记1

Spark学习笔记1

作者: wangmin | 来源:发表于2016-02-27 15:37 被阅读163次

Apache Spark is a fast and general-purpose cluster computing system.

  • spark 提供了 Java Scala Python and 的API。 在examples/src/main目录下有Java和Scala例子, 用 bin/run-example 运行。
  • 通过运行: ./bin/spark-shell –master local[2] 来进行交互式的操作,这是学习sprak最好的方式
  • 从1.4起spark也提供了R的api,./bin/sparkR –master local[2]

Quick Start

  • spark 提供了Scala 和 Python的交互式分析shell来学习api ./bin/spark-shell
  • RDD是分布式弹性数据集,可以理解为就是一个分布式的集合,这个集合的创建可以通过Hadoop 的 InputFormats,或者通过其他RDD转换而来。
  • RDD有动作,他能够返回值,以及转换操作,他会返回一个指针指向新的RDD,通过RDD的filter操作返回一个新的RDD.
  • RDD有很复杂的操作,他可以直接调用Scala Java的库方法,使用的时候需要使用:import java.lang.Math来引入。

Caching

  • spark 支持推送一个数据集到一个集群的缓存中,尤其是那种需要经常重复读取的数据。eg: linesWithSpark.cache()

Self-contained Applications(独立的应用程序)

  • 创建Maven项目。
  • pom.xml 文件如下:
<dependencies>
   <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.10</artifactId>
      <version>1.4.0</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
</dependencies>
  • 创建一个简单的spark程序:
public class SimpleApp {
    public static void main(String[] args) {
        // 文件路径
        String logFile = "/home/wm/apps/spark-1.4.0-bin-hadoop2.6/README.md";
        SparkConf conf = new SparkConf().setAppName("Simple Application");
        JavaSparkContext sc = new JavaSparkContext(conf);
        JavaRDD<String> logData = sc.textFile(logFile).cache();
        @SuppressWarnings("serial")
        long numAs = logData.filter(new Function<String, Boolean>() {
            public Boolean call(String s) throws Exception {
                return s.contains("a");
            }
            
        }).count();
        @SuppressWarnings("serial")
        long numBs = logData.filter(new Function<String, Boolean>() {

            public Boolean call(String s) throws Exception {
                return s.contains("b");
            }
            
        }).count();
        System.out.println("Lines with a: " + numAs + ", lines with b: " + numBs);
        sc.close();
    }
}
  • mvn pckage
  • 将target目录下的sparkdemo2-0.0.1-SNAPSHOT.jar文件放在spark的安装目录下。
  • 在spark安装目录下执行jar包中的程序,但是要指定执行的class文件,这个class文件需要全路径。例如:
    ./bin/spark-submit --class "com.wm.test.sparkdemo" --master local[4] sparkdemo-0.0.1-SNAPSHOT.jar
    

相关文章

  • spark

    *Spark Spark 函数Spark (Python版) 零基础学习笔记(一)—— 快速入门 1.map与fl...

  • Spark Core 学习笔记

    Spark Core 学习笔记 1、Spark 简介 ​ Spark 是一种用于大规模数据处理的统一计算引擎...

  • Spark学习笔记1

    Apache Spark is a fast and general-purpose cluster comput...

  • Spark Architecture

    OReilly.Learning.Spark 学习笔记 Spark里所有操作都是对RDD来的。分为两种 1. Tr...

  • spark 学习笔记

    Spark学习笔记 Data Source->Kafka->Spark Streaming->Parquet->S...

  • 2020-03-17

    spark学习笔记centos安装Oracle VirtualBox: Centos安装Vagrant

  • Spark学习笔记(1)RDD

    RDD RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最...

  • spark核心编程

    Spark 学习笔记 Spark 架构及组件 client:客户端进程,负责提交job到master Driver...

  • Spark 2.3.1测试笔记二:SortExec性能测试1

    前言 本例基于1 Spark 2.3.0测试笔记一:Shuffle到胃疼 2 Spark 2.3.0测试笔记二:还...

  • 《架构师训练营》之大数据应用

    极客时间《架构师训练营》第十三周学习笔记 Spark 架构 Spark 则是 UC Berkeley AMP la...

网友评论

      本文标题:Spark学习笔记1

      本文链接:https://www.haomeiwen.com/subject/xqbwkttx.html