Hadoop大数据平台实战(04):Ubuntu 18.04实战安装Spark大数据引擎并统计字符

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: Spark是一个开源的大数据分析引擎,在Hadoop生态系统中非常的重要组成部分,主要的作用就是分析处理大数据,Spark在大数据生态中的作用是替代之前的mapreduce引擎。Spark的性能测试表名将大数据分析处理的性能提高了100倍。

Spark是一个开源的高性能大数据分析引擎,在Hadoop生态系统中非常的重要组成部分,主要的作用就是分析处理大数据,Spark在大数据生态中的作用是替代之前的mapreduce引擎。Spark的性能测试表名将大数据分析处理的性能提高了100倍。Apache Spark使用最先进的DAG调度程序,查询优化器和物理执行引擎,实现批处理和流数据的高性能分析处理。
Spark可以使用Java,Scala,Python,R和SQL快速编写大数据应用程序。Spark提供80多个高级操作符,可以轻松构建并行应用程序。这也是我们为什么要学习Spark的原因。
1、大数据分析引擎Spark介绍
Apache Spark是高性能开源大数据分析引擎。 它提供Java,Scala,Python和R中的高级API,以及支持通用执行图的优化引擎。 它还支持一组丰富的高级工具,包括用于SQL和结构化数据处理的Spark SQL,用于机器学习的MLlib,用于图形处理的GraphX和Spark Streaming。
Apache Spark是一个开源的分布式通用集群计算框架。最初由加州大学伯克利分校的AMPLab开发,Spark代码库后来被捐赠给Apache软件基金会,该基金会从那时起就一直在维护它.Spark提供了一个接口,用于使用隐式数据并行和容错来编程整个集群。
官方网站;http://spark.apache.org
image
2、Spark版本
最新的版本,2.4,可以下载最新的版本进行安装。
Version Original release date Latest version Release date
0.5 2012-06-12 0.5.1 2012-10-07
0.6 2012-10-14 0.6.2 2013-02-07[36]
0.7 2013-02-27 0.7.3 2013-07-16
0.8 2013-09-25 0.8.1 2013-12-19
0.9 2014-02-02 0.9.2 2014-07-23
1.0 2014-05-26 1.0.2 2014-08-05
1.1 2014-09-11 1.1.1 2014-11-26
1.2 2014-12-18 1.2.2 2015-04-17
1.3 2015-03-13 1.3.1 2015-04-17
1.4 2015-06-11 1.4.1 2015-07-15
1.5 2015-09-09 1.5.2 2015-11-09
1.6 2016-01-04 1.6.3 2016-11-07
2.0 2016-07-26 2.0.2 2016-11-14
2.1 2016-12-28 2.1.3 2018-06-26
2.2 2017-07-11 2.2.3 2019-01-11
2.3 2018-02-28 2.3.3 2019-02-15
2.4 2018-11-02 2.4.0 2018-11-02
2.4 2019-03-31 2.4.1 2019-03-31
https://spark.apache.org/downloads.html
3、安装Java
安装开源的JDK8,免费,不会引起收费问题。

sudo apt install default-jdk

image
查看安装版本 Java -version
image
4、安装Spark
我们选择下载最新的spark-2.4.1,这里先安装单节点,独立模式。

wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.1/spark-2.4.1-bin-hadoop2.7.tgz

image
解压安装文件,这里是有tar工具解压

tar -xf spark-2.4.1-bin-hadoop2.7.tgz

移动
配置参数和环境变量

sudo mv spark-2.4.1-bin-hadoop2.7 /usr/lib/spark

image
修改文件夹目录,方便配置环境变量,后期使用,以后可以选择和Hadoop集成。这里我们先使用单节点模式。暂时不做扩展。

5、启动Spark
我们可以启动一个终端,输入启动命令,来启动Spark进程,单独一个服务进程。

$SPARK_HOME/sbin/start-master.sh

image
后续我们可以用来搭建集群模式。当然也可以对接Hadoop存储系统。
6、测试Spark Shell
Spark的shell提供了一种学习API的简单方法,可以以交互方式分析数据,这个就是个客户的命令窗口,但是是个强大的工具。 它可以在Scala(在Java VM上运行,因此是使用现有Java库的好方法)或Python中使用。 通过在Spark目录中运行以下命令来启动它:
可以打开终端进行测试,输入 spark-shell: 客户的命令

$SPARK_HOME/bin/spark-shell

如果正常出现下面的提示信息,表示已经成功安装Spark。
image
这里使用可以使用Scala语言,也是基于Java JVM的一种语言。
Spark分析引擎的主要抽象是一个名为Dataset的分布式项目集合。我们 可以从Hadoop InputFormats(例如HDFS文件)或通过转换其他数据集来创建数据集,比如读取MySQL数据库或者MongoDB数据库的数据进行分析。 现在我们从Spark安装目录下的README文件的文本创建一个新的数据集,并且编写一顿代码统计字符单词的数量,代码比较简单,做例子参考。

val textFile = spark.read.textFile("README.md")
textFile.count()

image
这里能看到结果是105个。
对于官方的单词统计的例子word-count示例,我们将从参数--master local [8]开始,这表示spark shell的上下文启动8个线程在本地节点上作为master节点。

spark-shell --master local[8]
println("Hello Spark")

image
7、Spark管理界面
可以使用浏览器打开管理界面: http://10.0.0.48:4040。IP地址可以换成本机的IP或者域名。
image
可以看到我们Job,以及执行的时间,任务状态信息等。
后续集群模式,我们也可以使用这个页面来管理集群,默认看到的应该是空的,集群没有搭建完成,后续再学学集群的搭建,以及Hadoop其他组件的集成实战。
参考资料:
http://spark.apache.org/
https://en.wikipedia.org/wiki/Apache_Spark
阿里巴巴Java群超过4800人
进群方式:钉钉扫码入群
image
阿里巴巴MongoDB群
image

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
11天前
|
机器学习/深度学习 搜索推荐 算法
大数据与金融科技:革新金融行业的动力引擎
大数据与金融科技:革新金融行业的动力引擎
42 0
大数据与金融科技:革新金融行业的动力引擎
|
5月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
280 6
|
5月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
356 1
|
5月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
127 2
|
2月前
|
SQL 存储 大数据
Flink 基础详解:大数据处理的强大引擎
Apache Flink 是一个分布式流批一体化的开源平台,专为大规模数据处理设计。它支持实时流处理和批处理,具有高吞吐量、低延迟特性。Flink 提供统一的编程抽象,简化大数据应用开发,并在流处理方面表现卓越,广泛应用于实时监控、金融交易分析等场景。其架构包括 JobManager、TaskManager 和 Client,支持并行度、水位线、时间语义等基础属性。Flink 还提供了丰富的算子、状态管理和容错机制,如检查点和 Savepoint,确保作业的可靠性和一致性。此外,Flink 支持 SQL 查询和 CDC 功能,实现实时数据捕获与同步,广泛应用于数据仓库和实时数据分析领域。
332 32
|
9天前
|
存储 分布式计算 运维
课时6:阿里云MaxCompute:轻松玩转大数据
阿里云MaxCompute是全新的大数据计算服务,提供快速、完全托管的PB级数据仓库解决方案。它拥有高效的压缩存储技术、强大的计算能力和丰富的用户接口,支持SQL查询、机器学习等高级分析。MaxCompute兼容多种计算模型,开箱即用,具备金融级安全性和灵活的数据授权功能,帮助企业节省成本并提升效率。
|
3月前
|
机器学习/深度学习 数据可视化 大数据
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
321 15
|
3月前
|
机器学习/深度学习 分布式计算 数据挖掘
MaxFrame 性能评测:阿里云MaxCompute上的分布式Pandas引擎
MaxFrame是一款兼容Pandas API的分布式数据分析工具,基于MaxCompute平台,极大提升了大规模数据处理效率。其核心优势在于结合了Pandas的易用性和MaxCompute的分布式计算能力,无需学习新编程模型即可处理海量数据。性能测试显示,在涉及`groupby`和`merge`等复杂操作时,MaxFrame相比本地Pandas有显著性能提升,最高可达9倍。适用于大规模数据分析、数据清洗、预处理及机器学习特征工程等场景。尽管存在网络延迟和资源消耗等问题,MaxFrame仍是处理TB级甚至PB级数据的理想选择。
84 4
|
3月前
|
存储 SQL 分布式计算
大数据时代的引擎:大数据架构随记
大数据架构通常分为四层:数据采集层、数据存储层、数据计算层和数据应用层。数据采集层负责从各种源采集、清洗和转换数据,常用技术包括Flume、Sqoop和Logstash+Filebeat。数据存储层管理数据的持久性和组织,常用技术有Hadoop HDFS、HBase和Elasticsearch。数据计算层处理大规模数据集,支持离线和在线计算,如Spark SQL、Flink等。数据应用层将结果可视化或提供给第三方应用,常用工具为Tableau、Zeppelin和Superset。
1115 8
|
5月前
|
分布式计算 大数据 Serverless
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
在2024云栖大会开源大数据专场上,阿里云宣布推出实时计算Flink产品的新一代向量化流计算引擎Flash,该引擎100%兼容Apache Flink标准,性能提升5-10倍,助力企业降本增效。此外,EMR Serverless Spark产品启动商业化,提供全托管Serverless服务,性能提升300%,并支持弹性伸缩与按量付费。七猫免费小说也分享了其在云上数据仓库治理的成功实践。其次 Flink Forward Asia 2024 将于11月在上海举行,欢迎报名参加。
345 6
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展