【Spark中创建RDD的两种方式】Spark中如何获取sc对象、以及创建RDD的两种方式

文章目录

  • 一、Spark如何获取sc对象
    • 1、windons 本地模式获取sc对象
    • 2、linux 集群模式获取sc对象
  • 二、创建RDD的两种方式
    • 1、并行化一个已存在的集合
    • 2、读取外部共享存储系统


一、Spark如何获取sc对象

不论是本地测试还是集群模式,都需要指定 JAVA_HOME 和 HADOOP_HOME 路径

最好下载Anaconda,使用Anaconda 进行Python 的部署
如果下载了 Anaconda ,需要指定其下面的 python 环境的路径

需要在 Anaconda 中下载 pyspark

1、windons 本地模式获取sc对象

import os
# 导入pyspark模块
from pyspark import SparkContext, SparkConfif __name__ == '__main__':# 配置环境os.environ['JAVA_HOME'] = 'D:/devs/javajdk/jdk8'# 配置Hadoop的路径,就是前面解压的那个路径os.environ['HADOOP_HOME'] = 'D:/learn_tools/hadoop-3.3.1'# 配置base环境Python解析器的路径os.environ['PYSPARK_PYTHON'] = 'D:/learn_apps/anaconda/python.exe'  # 配置base环境Python解析器的路径os.environ['PYSPARK_DRIVER_PYTHON'] = 'D:/learn_apps/anaconda/python.exe'# 获取 conf 对象# setMaster  按照什么模式运行,local  bigdata01:7077  yarn#  local[2]  使用2核CPU   * 你本地资源有多少核就用多少核#  appName 任务的名字conf = SparkConf().setMaster("local[*]").setAppName("第一个Spark程序")# 假如我想设置压缩# conf.set("spark.eventLog.compression.codec","snappy")# 根据配置文件,得到一个SC对象,第一个conf 是 形参的名字,第二个conf 是实参的名字sc = SparkContext(conf=conf)# 可以打印sc验证是否获取成功print(sc)# 使用完后,记得关闭sc.stop()

2、linux 集群模式获取sc对象

集群模式需要额外指定 Master 所在位置

import os
import timefrom pyspark import SparkContext, SparkConf
import sysif __name__ == '__main__':# 配置环境os.environ['JAVA_HOME'] = '/opt/installs/jdk'# 配置Hadoop的路径,就是前面解压的那个路径os.environ['HADOOP_HOME'] = '/opt/installs/hadoop'# 配置base环境Python解析器的路径os.environ['PYSPARK_PYTHON'] = '/opt/installs/anaconda3/bin/python3'  # 配置base环境Python解析器的路径os.environ['PYSPARK_DRIVER_PYTHON'] = '/opt/installs/anaconda3/bin/python3'# 获取sc 对象conf = SparkConf().setMaster("spark://node01:7077").setAppName("wordcount单词统计")sc = SparkContext(conf=conf)print(sc)# 关闭scsc.stop()

二、创建RDD的两种方式

1、并行化一个已存在的集合

方法:parallelize (并行的意思)
将一个集合转换为RDD

# 方式一:将一个已存在的集合转换为RDD
# 创建一个列表:会在Driver内存中构建
data = [1,2,3,4,5,6,7,8,9,10]
# 将列表转换为RDD:将在多个Executor内存中实现分布式存储, numSlices用于指定分区数,所谓的分区就是分为几份,每一份放在一台电脑上
list_rdd = sc.parallelize(data,numSlices=2)
# 打印这个RDD的内容
list_rdd.foreach(lambda x: print(x))

2、读取外部共享存储系统

方法:textFile、wholeTextFile、newAPIHadoopRDD等
读取外部存储系统的数据转换为RDD

# 方式二:读取外部系统
# 读取文件的数据变成RDD,minPartitions用于指定最小分区数
file_rdd =sc.textFile("../datas/function_data/filter.txt", minPartitions=2)
# 输出文件的内容
file_rdd.foreach(lambda line: print(line))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RHCE第四天笔记

1.web服务器简介 (1)什么是www www是world wide web的缩写,也就是全球信息广播的意思。通常说的上网就是使用www来查询用户 所需要的信息。www可以结合文字、图形、影像以及声音等多媒体,并通过可以让鼠标单击超链接的方 式将信息…

springboot高校运动会管理系统-计算机毕业设计源码33814

摘要 本文旨在介绍基于Spring Boot框架和HTML技术开发的高校运动会管理系统。通过该系统,学校能够更高效地组织和管理校园内的各项体育赛事,提升运动会的组织效率和参与体验。系统整合了Spring Boot的强大功能和HTML的灵活性,为高校运动会管理…

Linux特种文件系统--tmpfs文件系统

tmpfs类似于RamDisk(只能使用物理内存),使用虚拟内存(简称VM)子系统的页面存储文件。tmpfs完全依赖VM,遵循子系统的整体调度策略。说白了tmpfs跟普通进程差不多,使用的都是某种形式的虚拟内存&a…

森利威尔SL2516D 耐压60V内置5V功率MOS 支持PWM LED恒流驱动器芯片

一、基本特性 型号:SL2516D封装:ESOP8工作频率:140kHz驱动MOS管:内置 二、电气特性 输入电压范围:8V~100V(注意,虽然问题中提到耐压60V,但根据官方信息,其实际耐压范围…

力扣287.寻找重复数

1.哈希表法 #include<stdio.h> #include<stdlib.h> int func(int *arr,int len) {int *hash(int *)malloc(sizeof(int)*len);for(int i0;i<len;i){if(hash[arr[i]]1){free(hash);return arr[i];}hash[arr[i]]1;}free(hash);return -1; }int main() {int arr[5]{…

服务器数据恢复—DELL EqualLogic PS6100系列存储简介及如何收集故障信息?

DELL EqualLogic PS6100系列存储采用虚拟ISCSI SAN阵列&#xff0c;支持VMware、Solaris、Linux、Mac、HP-UX、AIX操作系统&#xff0c;提供全套企业级数据保护和管理功能&#xff0c;具有可扩展性和容错功能。DELL EqualLogic PS6100系列存储介绍&#xff1a; 1、上层应用基础…

点云学习笔记3——读取点云文件、进行统计滤波/直通滤波后可视化

一、统计滤波 #include <iostream> #include <pcl/point_cloud.h> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/filters/voxel_grid.h> #include <pcl/common/common_headers.h> #include <pcl/visualiza…

【笔面试常见题:三门问题】用条件概率、全概率和贝叶斯推导

1. 问题介绍 三门问题&#xff0c;又叫蒙提霍尔问题&#xff08;Monty Hall problem&#xff09;&#xff0c;以下是蒙提霍尔问题的一个著名的叙述&#xff0c;来自Craig F. Whitaker于1990年寄给《展示杂志》&#xff08;Parade Magazine&#xff09;玛丽莲沃斯莎凡特&#x…

C++ | Leetcode C++题解之第526题优美的排列

题目&#xff1a; 题解&#xff1a; class Solution { public:int countArrangement(int n) {vector<int> f(1 << n);f[0] 1;for (int mask 1; mask < (1 << n); mask) {int num __builtin_popcount(mask);for (int i 0; i < n; i) {if (mask &am…

windows临时安装solr

下载地址 https://dlcdn.apache.org/lucene/solr/8.11.4/solr-8.11.4.zip jdk1.8 解压&#xff0c;进入bin目录&#xff0c;打开cmd&#xff0c;执行这个命令就启动好了 .\solr.cmd start PS D:\xxxxx\solr-8.11.4\bin> .\solr.cmd start Java HotSpot(TM) 64-Bit Serv…

新160个crackme - 089-fornixcrackme1

运行分析 需要破解Name和Serial PE分析 ASM程序&#xff0c;32位&#xff0c;无壳 静态分析&动态调试 ida搜索找到关键字符串 动态分析关键函数&#xff0c;逻辑如上图&#xff0c;通过Name计算得到char_1&#xff0c;亦或后对比Serial&#xff0c;相等则返回成功信息 分析…

【测试平台】打包 子节点ios环境配置

主要记录如何配置ios打包机环境&#xff0c;ios环境相对来说比较简单的&#xff0c;研发配置好证书可以本地打包&#xff0c;接入流程比较简单了。 打包机系统升级 1.升级mac OS系统 一般升级好几个小时&#xff0c;可以晚上下载好 2.下载xcode并安装 Appstroe 下载安装xco…

【AIGC】深入探索『后退一步』提示技巧:激发ChatGPT的智慧潜力

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;“后退一步”技巧介绍技巧目的 &#x1f4af;“后退一步”原理“后退一步”提示技巧与COT和TOT的对比实验验证 &#x1f4af;如何应用“后退一步”策略强调抽象思考引导提…

C语言——八股文(笔试面试题)——持续更新

目录 更新日历&#xff1a; 1、 什么是数组指针&#xff0c;什么是指针数组&#xff1f; 2、 什么是位段&#xff0c;什么是联合体 3、 什么是递归&#xff0c;什么是回调&#xff1f; 4、 什么是越界&#xff0c;什么是溢出&#xff1f; 5、#define和typedef的区别&#x…

Java后端面试内容总结

先讲项目背景&#xff0c;再讲技术栈模块划分&#xff0c; 讲业务的时候可以先讲一般再特殊 为什么用这个&#xff0c;好处是什么&#xff0c;应用场景 Debug发现问题/日志发现问题. QPS TPS 项目单元测试&#xff0c;代码的变更覆盖率达到80%&#xff0c;项目的复用性高…

oracle insert忽略主键冲突,忽略重复记录

在INSERT语句中使用IGNORE_ROW_ON_DUPKEY_INDEX提示&#xff1a; INSERT /* IGNORE_ROW_ON_DUPKEY_INDEX(table_name, index_name) */ INTO table_name(column1, column2) VALUES(value1, value2); 或 INSERT /* IGNORE_ROW_ON_DUPKEY_INDEX(table_name(column_name)) */ …

kubeadm快速自动化部署k8s集群

目录 一、准备环境 二、安装docker--三台机器都操作 三、使用kubeadm部署Kubernetes 在所有节点安装kubeadm和kubelet、kubectl 配置启动kubelet(所有主机) master节点初始化 Mater重新完成初始化 执行Master初始化后的提示配置 配置使用网络插件 创建flannel网络 …

TI-Trends in Immunotherapy

文章目录 一、征稿简介二、重要信息三、服务简述四、投稿须知五、联系咨询 一、征稿简介 二、重要信息 期刊官网&#xff1a;https://ais.cn/u/3eEJNv 三、服务简述 Trends in Immunotherapy 是一本开放获取的同行评审期刊&#xff0c;涵盖与所有基于免疫系统的领域相关的各…

springboot-starter 整合feignClient

项目结构图 引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.o…

Python+Appium+Pytest+Allure自动化测试框架-安装篇

文章目录 安装安装ADT安装NodeJs安装python安装appium安装Appium Server&#xff08;可选&#xff09;安装Appium-Inspector&#xff08;可选&#xff09;安装allure安装pytest PythonAppiumPytestAllure框架的安装 Appium是一个开源工具&#xff0c;是跨平台的&#xff0c;用于…