Spark入门三部曲之第一步Spark基础知识

Spark运行环境

Spark 是Scala写的, 运行在JVM上。所以运行环境是Java6或者以上。

如果想要使用 Python API,需要安装Python 解释器2.6版本或者以上。

目前Spark(1.2.0版本) 与Python 3不兼容。

Spark下载

下载地址:http://spark.apache.org/downloads.html,选择Pre-built for Hadoop 2.4 and later 这个包,点击直接下载,这会下载一个spark-1.2.0-bin-hadoop2.4.tgz的压缩包

搭建Spark不需要Hadoop,如果你有hadoop集群或者hdfs,你可以下载相应的版本。

解压:tar -zxvf spark-1.2.0-bin-hadoop2.4.tgz

Spark的Shells

Spark的shell使你能够处理分布在集群上的数据(这些数据可以是分布在硬盘上或者内存中)。

Spark可以把数据加载到工作节点的内存中,因此,许多分布式处理(甚至是分布式的1T数据的处理)都可以在几秒内完成。

上面的特性,使迭代式计算,实时查询、分析一般能够在shells中完成。Spark提供了Python shells和 Scala shells。

打开Spark的Scala Shell:

到Spark目录bin/pysparkbin/spark-shell打开Scala版本的shell

例子:

scala> val lines = sc.textFile(“../../testfile/helloSpark”) // 创建一个叫lines的RDD

lines: org.apache.spark.rdd.RDD[String] = ../../testfile/helloSpark MappedRDD[1] at textFile at :12

scala> lines.count() // 对这个RDD中的行数进行计数

res0: Long = 2

scala> lines.first() // 文件中的第一行

res1: String = hello spark

修改日志级别:conf/log4j.properties log4j.rootCategory=WARN, console

Spark的核心概念

Driver program:

包含程序的main()方法,RDDs的定义和操作。(在上面的例子中,driver program就是Spark Shell它本身了)

它管理很多节点,我们称作executors。

count()操作解释(每个executor计算文件的一部分,最后合并)。

SparkContext:

Driver programs 通过一个 SparkContext 对象访问 Spark,SparkContext 对象代表和一个集群的连接。

在Shell中SparkContext 自动创建好了,就是sc,

RDDs:

在Spark中,我们通过分布式集合(distributed collections,也就是RDDs)来进行计算,这些分布式集合,并行的分布在整个集群中。

RDDs 是 Spark分发数据和计算的基础抽象类。

用SparkContext创建RDDs

上面例子中使用sc.textFile()创建了一个RDD,叫lines,它是从我们的本机文本文件中创建的,这个RDD代表了一个文本文件的每一行。我们可以在RDD上面进行各种并行化的操作,例如计算数据集中元素的个数或者打印出第一行。

Spark PPT 下载地址:http://pan.baidu.com/s/1i3IkdoD

Spark学习网站 www.bigdatastudy.cn

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-18 01:49:25

Spark入门三部曲之第一步Spark基础知识的相关文章

Spark入门三部曲之第二步Spark开发环境搭建

使用Scala+IntelliJ IDEA+Sbt搭建开发环境 提示 搭建开发环境常遇到的问题: 1.网络问题,导致sbt插件下载失败,解决方法,找到一个好的网络环境, 或者预先从我提供的网盘中下载jar(链接:http://pan.baidu.com/s/1qWFSTze 密码:lszc) 将下载的.ivy2压缩文件,解压后,放到你的用户目录下. 2.版本匹配问题,版本不匹配会遇到各种问题,解决方法,按照如下版本搭建, scala(2.10.3),sbt(0.13),sbt-assembly(

第一讲   信息化基础知识、信息化系统服务管理

第一章 信息化基础知识 1.国家信息化体系要素 a) 信息化技术:是信息化体系六要素的龙头. b) 信息化资源:是国家信息化的核心任务,是国家信息建设取得实效的关键,也是我国信息化的薄弱环节.信息资源开发和利用的程度是衡量国家信息化水平的一个重要标志. c) 信息网络:是信息资源开发利用和信息技术应用的基础.通常将信息网络分为电信网.广播电视网和计算机网络.三网的发展方向将逐步实现三网融合. d) 信息技术和产业:是我国进行信息化建设的基础. e) 信息化人才:是国家信息化成功之本,是信息化建设

汇编入门学习笔记 (一)—— 基础知识、寄存器

疯狂的暑假学习之  汇编入门学习笔记 (一) 参考:<汇编语言> 王爽  第一,二章 一.基础知识 1. 用汇编语言编写程序的工作过程 汇编本质就是为了方便程序员,把二进制代码用汇编指令来表示 汇编指令---------------->  编译器  ---------------->机器码----------------> 计算机执行 mov ax, bx                                                          100

【Python基础教程第2版】——第一讲:基础知识

1.长字符串:(用三引号如'''或者"""来引起来) >>> print """This is a very log string.It continues here.And it's not over yet."Hello world!"""" This is a very log string.It continues here.And it's not over yet.&

[WebGL入门]三,3D绘图的基础知识

注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中如果有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,如果翻译有误,欢迎大家指正. 二维和三维 三维空间--我们生活这个这个现实的世界就是一个三维空间. 在三维的世界里,所有的东西都由横,竖,深度.将这些东西重现,就是一个实时3D渲染.但是再现这个3D空间,我们是在一个2D的显示器上来实现的. 电脑和手机的屏幕,都是一个2D的显示器.至少现在还没有一个3D的显示设备,当然,研

APUE学习笔记:第一章 UNUX基础知识

1.2 UNIX体系结构 从严格意义上,可将操作系统定义为一种软件(内核),它控制计算机硬件资源,提供程序运行环境.内核的接口被称为系统调用.公用函数库构建在系统调用接口之上,应用软件即可使用公用函数库,也可使用系统调用.shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口 从广义上,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并给予计算机以独有的特性(软件包括系统实用程序,应用软件,shell以及公用函数库等) 1.3  shell shell是一个命令行解

Jquery真的不难~第一回 编程基础知识

Jquery真的不难~第一回 编程基础知识 回到目录 前言 说Jquery之前,先来学习一下Javascript(以后简称为JS)语言中的基础知识问题,其时对于每种编程语言来说基础知识都是大同小异的,对变量,函数,条件语句块,循环语句块等等,而对于每种语言在写法上到是显得各有不同,如JS里在定义变量时,你要用var去声局部变量的声明,而对于弱类型的语言JS来说,你也可以不加var,但不加它会认为这个变量为全局变量,这是要注意的. 变量 在程序运行过程中,其值可以发生改变的(呵呵,10多年前书上的

第一章 计算机基础知识

第一章 计算机基础知识 第一部分 概述 1.1946年2月15日,第一台计算机 ENIAC 2.物理原件(电子原件) 第一代:电子管.第二代:晶体管.第三代:中小规模集成电路.第四代:超大规模集成电路.第五代:超导材料.第六代:人工智能.#考试考到第四代. 3.计算机的分类 巨型机,大型机,中型机,小型机,微型机 现在的巨型机也是存在的 4.微处理器(CPU.中央处理器)由控制器.寄存器.运算器组成 第二部分 微机系统的组成 CPU>内存>外存 #速度 CPU和内存之间有一个CACHE,叫做高

第一节,基础知识之第一步:代数

先声明:theano模块的内容大都是参考来源于网上,并亲手实践复现一遍,也有部分内容是自己补充 本文会列出所参考文章,如有版权问题,请联系我,我会及时删除 # -*- coding: utf-8 -*- """ Created on Fri Mar 23 13:33:20 2018 @author: zy """ '''x= T.dscalar('x')y= T.dscalar('y')z = x + yf = theano.function([