当前位置: 首页 > news >正文

Pyspark综合案例(pyspark安装和java运行环境配置)

一、RDD对象

PySpark支持多种数据的输入,在输入完成后,都会得到一个:RDD类的对象

RDD全称为:弹性分布式数据集(Resilient Distributed Datasets)

PySpark针对数据的处理,都是以RDD对象作为载体,即:

  • 数据存储在RDD内
  • 各类数据的计算方法,也都是RDD的成员方法
  • RDD的数据计算方法,返回值依旧是RDD对象

40cb420610664ebc8eed66760c45c62b.png

        PySpark的编程模型可以归纳为:准备数据到RDD -> RDD迭代计算 -> RDD导出为list、文本文件等,即:源数据 -> RDD -> 结果数据

二、Python数据容器转RDD对象

        PySpark支持通过SparkContext对象的parallelize成员方法,将:list、tuple、set、dict、str转换为PySpark的RDD对象

3679f65e4a844246bd4cdae1dcba74cf.png

         PySpark也支持通过SparkContext入口对象,来读取文件,来构建出RDD对象。

fc7f66772cdf441a8a7cf77a8bcdcc0b.png

代码案例:

"""
#通过PySpark代码加载数据,即数据输入
"""
from pyspark import SparkConf,SparkContext
conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
sc = SparkContext(conf = conf)# 通过parallelize方法将Python对象加载到Spark内,成为RDD对象
rdd1 = sc.parallelize([1, 2, 3, 4, 5])
rdd2 = sc.parallelize((1, 2, 3, 4, 5))
rdd3 = sc.parallelize("abcdefg")
rdd4 = sc.parallelize({1, 2, 3, 4, 5})
rdd5 = sc.parallelize({"key1": "value1", "key2": "value2"})# 如果要查看RDD里面有什么内容,需要用collect()方法
print(rdd1.collect())
print(rdd2.collect())
print(rdd3.collect())
print(rdd4.collect())
print(rdd5.collect())

打印结果:

8acffe7a3ba04323a5d04dac1d4d86e0.png

pyspark安装方法 :

第一种方法时命令行安装:pip install pyspark;

第二种方式是直接在Pycharm进行安装,如下图所示;

a231807459f74d538bd57dcef43b4058.png

33537244fa3f43548a6c773a47d30627.png

        安装完成后,运行代码出现缺少Java环境依赖,需要配置java运行环境才可以运行Pyspark导入报对象,配置环境的过程可以参考博客教程:

java 环境配置(详细教程)_java环境配置_多加点辣也没关系的博客-CSDN博客

JDK 8.0 的安装包已上传资源包,希望可以帮助到大家!

f0c9da8980984f24bac46648ed89e3e4.gif

 

http://www.lryc.cn/news/168046.html

相关文章:

  • 虚拟机突然无法访问外部网络的现象集合
  • 国庆中秋特辑(一)浪漫祝福方式 用循环神经网络(RNN)或长短时记忆网络(LSTM)生成祝福诗词
  • 【入门篇】ClickHouse 的安装与配置
  • 为了工作刷题
  • linux jenkins2.414.1-1.1版本安装
  • 嵌入式学习笔记(33)S5PV210的第二阶段处理过程
  • 学校项目培训之Carla仿真平台之安装Carla
  • 什么是MQ消息队列及四大主流MQ的优缺点(个人网站复习搬运)
  • Learn Prompt-什么是ChatGPT?
  • 高德地图实现-微信小程序地图导航
  • 你已经应用了哪种服务注册和发现的模式呢?
  • Python爬虫技术在SEO优化中的关键应用和最佳实践
  • 基于支持向量机的试剂条图像识别,基于SVM的图像识别,SVM的详细原理,Libsvm工具箱使用注意事项
  • PbootCMS在搭建网站
  • C语言经典100例题(56-60)--画圆;画方;画线
  • linux相关知识以及有关指令3
  • 关于Synchronized
  • 深度学习(Python)学习笔记2
  • gitlab操作
  • docker day04
  • 任意区域的色彩一致性处理方法
  • 听GPT 讲Istio源代码--pilot
  • pdfjs解决ie浏览器预览pdf问题
  • 千里共婵娟 | 结合微信公众号用JavaScript完整开发实现换中秋头像的功能
  • pt26django教程
  • javabasic
  • 电子词典项目
  • SQL12 高级操作符练习(2)
  • python写代码过程中的坑230915
  • SpringBoot课堂笔记20230913