PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

2024-12-06 0 777

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

在大数据处理领域,Spark相关技术扮演着极其关键的角色。然而,其中有一些难点不易掌握,且容易被忽略。同时,还有一些问题亟待解决。

Spark与数据源的交互

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

Spark在处理多个map任务读取不同数据源文件时存在特定问题。比如,在一个数据处理项目中,不同的map任务可能会重复加载数据源,这无疑会造成内存资源的浪费,增加不必要的内存消耗。在大规模数据处理的实际环境中,这种情况可能会导致内存资源迅速变得紧张。此外,线程计算模式是为了实现数据共享和提升执行效率而设计的。但在Spark使用线程作为最小执行单元的情况下,各线程之间不可避免地会出现资源竞争,这种现象既有利于也有可能损害系统的稳定性和效率。

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

Spark的本地模式

本地模式独特,独立进程运行,内部多线程模拟Spark运行环境,仿佛在单机上搭建Spark小框架。开发者在个人电脑测试Spark代码时常用此模式。但有限制,如本地开发只能运行单一Spark程序。若同时运行多个无关Spark程序,将各自独立运行,与集群模式下的资源共享和管理方式截然不同。

Spark的集群模式

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

Spark集群的配置方式多样。比如,Spark中的各个组件可以以独立进程的方式运作,进而构建起Spark集群。在企业数据中心,为了处理大量数据及进行大规模计算,通常会采用这种集群架构。此外,还有基于YARN的集群模式,Spark组件在YARN的容器中运行,共同构成集群。还有一种是容器集群模式,尽管具体描述不详,但同样涉及Spark组件在容器中运行以形成集群。这些不同的集群模式针对不同的应用场景和需求。

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

Spark的安装步骤

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

安装Spark有既定的步骤。先得下载特定版本的安装包,比如3.2版,官网上的下载链接可能是/spark之类的。下载完毕后,得把安装包解压到指定路径,比如用tar-zxvfspark-3.2.0-bin-.2.tgz-C/opt/这样的命令。如果路径名太长,操作起来不方便,可以用mv命令改名字,比如mvspark-3.2.0-bin-.2spark。接下来还要配置环境变量,这在安装过程中很重要,通常是在.sh文件里设置。另外,Spark运行时可以用sparkonyarn模式,这就需要正确配置yarn-site.xml文件的路径。

# A Spark Worker will be started on each of the machines listed below.
slave1
master
slave3

Spark的部分实用目录与功能

# 设置JAVA安装目录
JAVA_HOME=/usr/java/default
# Hadoop相关
# HADOOP配置文件目录,读取HDFS上文件和运行YARN集群
HADOOP_CONF_DIR=/home/wuhaoyi/module/hadoop/etc/hadoop
YARN_CONF_DIR=/home/wuhaoyi/module/hadoop/etc/hadoop
# master相关
# 告知Spark的master运行在哪个机器上
export SPARK_MASTER_HOST=slave1
# 告知spark master的通讯端口
export SPARK_MASTER_PORT=7077
# 告知spark master的 webui端口
SPARK_MASTER_WEBUI_PORT=8080
# worker相关
# worker cpu可用核数
SPARK_WORKER_CORES=56
# worker可用内存
SPARK_WORKER_MEMORY=100g
# worker的工作通讯地址
SPARK_WORKER_PORT=7078
# worker的 webui地址
SPARK_WORKER_WEBUI_PORT=8081
# 设置历史服务器
# 将spark程序运行的历史日志 存到hdfs的/sparklog文件夹中
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://slave1:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true"

Spark中某些文件夹有特定功能。比如,bin/文件夹,它为开发者提供了一个互动式解释器平台。在这里,开发者仿佛置身于编程的乐园,轻松编写普通和Spark代码。而bin/spark/目录,其主要作用是将编写的Spark代码提交至Spark运行环境。这就像一座桥梁,将代码顺利传输至Spark执行环境,启动程序运行。

# # 开启spark的日志记录功能
spark.eventLog.enabled  true
# # 设置spark日志记录的路径
spark.eventLog.dir       hdfs://slave1:8020/sparklog/
# # 设置spark日志是否启动压缩
spark.eventLog.compress         true

Spark中的任务类型

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

Spark里的作业分为两类,其中一类至关重要的是Map作业。这种作业主要承担数据的重新排序工作,并且排序后的数据会被存储在执行节点的文件系统里。这在处理和分析大数据的过程中极为关键,尤其是在数据预处理和将分散数据整合的步骤中。比如,在一家电商公司分析订单数据并研究订单趋势时,Map作业便扮演了至关重要的数据排序角色。

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

在使用Spark处理数据时,你是否遇到过内存被map任务浪费或Spark集群部署的特殊状况?若如此,请点赞、转发本文,并在评论区分享你的相关经历。

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 行业资讯 PySpark基础入门教程(1):全面解析基础概念与环境搭建步骤 https://www.7claw.com/2799777.html

七爪网源码交易平台

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务