Spark安装搭建与使用

Spark安装搭建与使用

Spark简介

Apache Spark是一个开源分布式的数据处理平台,支持集群进行数据处理。类似于hadoop,却又能提供灵活的编程接口(而不是map和reduce过程)。目前Spark的API支持Java, Python, Scala和R语言。

Spark框架

Spark框架

  • Spark Core : 框架核心组件,提供内存管理、任务调度等功能,并对第三方存储系统(例如HDFS,S3等)提供接口支持。同样也提供RDD (弹性分布式数据集,Spark特有的存储单元)API。

  • Spark SQL : 提供结构化或半结构化的数据处理。支持用户在Spark内使用SQL进行数据访问,包括Hive datasets, JSON,JDBC等。

  • Spark Streaming : 提供流式处理

  • MLib : 提供机器学习算法库

  • GraphX: 提供图计算。(PageRank等算法)

Spark常见API功能

两种操作类型:Transformation 和Action
Transformation是一种操作RDD数据集的指令,会创建新的RDD进行数据存储,但不会反馈结果给主程序。可以理解为数据的操作。常见的Transformation接口有:
Trans
Action是会产生返回结果给主程序的。常见的Action指令有:
Action

  • map函数功能
# map
# sc = spark context, parallelize creates an RDD from the passed object
x = sc.parallelize([1,2,3])
y = x.map(lambda x: (x,x**2))

# collect copies RDD elements to a list on the driver
print(x.collect()) 
print(y.collect())

[1, 2, 3]
[(1, 1), (2, 4), (3, 9)]
  • flatMap功能
# flatMap
x = sc.parallelize([1,2,3])
y = x.flatMap(lambda x: (x, 100*x, x**2))
print(x.collect())
print(y.collect())

[1, 2, 3]
[1, 100, 1, 2, 200, 4, 3, 300, 9]

详情可以参见:https://www.iteblog.com/archives/1395.html

Spark RDD

RDD: Resilient Distributed Datasets
Spark在集群上的数据集。支持数据在不同机器上分片存储。具体如下所示:
RDD
提供多种接口,支持聪其它数据源获取数据,转换为RDD
hadoopFile() : 从Hadoop文件转换为RDD
objectFile() :序列化数据
textFile() : HDFS 或本地文件

Spark下载与安装

下载地址: http://spark.apache.org/downloads.html
Spark有多种运行方式。此处强调本地模式(Standalone),可以使用Hadoop本地模式,也可以不使用Hadoop。即Spark的运行可以独立Hadoop进行。
支持的语言版本:
(1)Java 7+
(2)Python 2.6+
(3)R 3.1+
(4) Scala 2.10+
下载后解压文件,cmd下进入解压文件目录,即可运行(要求安装了Python):
Spark
说明:虽然不需要Hadoop,可以直接使用Spark,但是本地还需要配置HADOOP_HOME,添加winutils.exe文件,具体文件下载可以自行搜索。

Spark windows集成开发环境搭建

选择使用Intellij IDEA集成开发环境,选用Scala语言进行搭建。
下载IDEA(社区免费版本)http://www.jetbrains.com/idea/download/
IDEA
IDEA工程里library添加Spark的Jar包即可

利用Spark调用Ansj进行中文分词

主要代码如下:

      val lines = sc.textFile(doc, 1).map { x =>
      val temp = ToAnalysis.parse(x).getTerms()
      val word = for(i<-Range(0,temp.size())) yield temp.get(i).getName()
      word
    }
      val pairs = lines.flatMap(words => words.map(word =>(word,1)))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spark环境搭建使用 Apache Spark是一个开源的大数据处理框架,可以快速、高效地处理大规模的数据集。它支持多种数据处理方式,包括批处理、流处理和机器学习等。 Spark可以在本地模式下运行,也可以在分布式模式下运行。在分布式模式下,Spark可以利用多台服务器的计算资源,进行大规模的数据处理。 本文将介绍如何在本地环境中搭建Spark,并通过一个简单的例子来演示Spark使用Spark环境搭建 在开始之前,需要确认已经安装了Java环境。可以通过以下命令检查Java环境是否已经安装: ``` java -version ``` 如果Java环境没有安装,可以去官网下载并安装Java。 接下来,需要下载Spark。可以从官网下载最新版本的Spark。下载完成后,解压缩到指定目录。 打开终端,进入Spark的bin目录,执行以下命令启动Spark: ``` ./spark-shell ``` 这个命令将启动Spark的交互式Shell。在Shell中,可以输入Spark的API命令进行数据处理。 Spark使用示例 下面,通过一个简单的例子来演示Spark使用。该例子将统计一组数字中的奇数个数。 首先,在Spark的Shell中,创建一个RDD: ``` val nums = sc.parallelize(1 to 10) ``` 这个命令将创建一个包含1到10的数字的RDD。接下来,通过filter()方法,筛选出奇数: ``` val odds = nums.filter(_ % 2 != 0) ``` 这个命令将创建一个包含奇数的RDD。最后,通过count()方法,计算奇数的个数: ``` val count = odds.count() ``` 这个命令将返回奇数的个数。可以通过以下命令输出结果: ``` println(count) ``` 这个例子演示了Spark的基本用法。通过Spark的API,可以快速、高效地处理大规模的数据集。 总结 本文介绍了如何在本地环境中搭建Spark,并通过一个简单的例子来演示Spark使用Spark是一个强大的大数据处理框架,可以帮助我们快速、高效地处理大规模的数据集。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值