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

spark练习例子——单词计数——pyspark

spark练习例子——单词计数——pyspark

  • 练习科目一 : 单词计数
    • 引入依赖
    • 启动sparkSession
    • 读取文本,和单词
    • 单词计数
  • 总结

练习科目一 : 单词计数

引入依赖

import sys
import os

os.environ["PYSPARK_PYTHON"] = "E:/code-private/python/venvs/venv38/Scripts/python.exe"
# os.environ["PYSPARK_DRIVER_PYTHON"] = "E:/code-private/python/venvs/venv38/Scripts/python.exe"
os.environ["JAVA_HOME"] = "D:/Program Files/Java/jdk-11.0.7"
os.environ["SPARK_HOME"] = "D:/Program/spark-3.2.0-bin-hadoop3.2-scala2.13"
os.environ["PYLIB"] = os.environ["SPARK_HOME"] + "/python/lib"
sys.path.insert(0, os.environ["PYLIB"] + "/py4j-0.10.7-src.zip")
sys.path.insert(0, os.environ["PYLIB"] + "/pyspark.zip")

我用的是pycharm 跑的 notebook ,
notice: 这里遇到问题就是,我指定了pyspark 是虚拟环境的python 3.8 , 我 anaconda base 环境是3.7
跑pyspark ,一直都用的是 base 环境,一直都会报错,版本不兼容。

启动sparkSession


from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("test").config("spark.network.timeout", "10000000").master(
    "local[*]").getOrCreate()
spark.version

spark 2.13 与之前的练习版本有着不同差异,需要注意

读取文本,和单词

text = spark.read.text("in/word_count.text")
text.take(1)
words = text.rdd.flatMap(lambda s : s.value.split(" "))
words.take(1)

由其是这里,在dataframe 里面,必须要通过value 来取值,而不是 直接 s.split(" ") 去切割

单词计数


wordCounts = words.countByValue()
for word,count in wordCounts.items():
    print("{} : {}".format(word,count))

总结

简单明了,无难度,需要适应新版本改变


http://www.kler.cn/a/18150.html

相关文章:

  • 【项目开发 | 跨域认证】JSON Web Token(JWT)
  • NVIDIA NIM 简介
  • 设备接入到NVR管理平台EasyNVR多品牌NVR管理工具/设备的音视频配置参考
  • pgsql和mysql的自增主键差异
  • 现代Web开发:Vue 3 组件化开发实战
  • [vulnhub] DarkHole: 1
  • Java基础--->基础部分(2)【Java值传递】
  • 项目搭建—常用的插件
  • 基于R语言APSIM模型
  • 国民技术N32G430开发笔记(19)- IAP 升级 I2C1 从机收发数据
  • 本地字体库的引入方法
  • 程序设计的三种结构-C中实现其的6条语句
  • 数据导向下制造业的生产效率、交易效率提升办法
  • 【ESD专题】案例:TVS管钳位电压能不能通过TLP测试数据表征?
  • 【CMIP6月、日数据】【ERA5-LAND陆面再分析数据】【全球VIPPHEN物候数据】
  • javaScript---设计模式-设计模式概论
  • TypeScript基础
  • Chapter 7:XDC Precedence (ug903)
  • TreeMap源码分析,Collections工具类的使用
  • 相对路径的详细用法
  • 行为型模式-中介者模式
  • 武忠祥老师每日一题||定积分基础训练(十)
  • 9大Python常用技巧 经验之谈
  • 安全访问服务边缘 (SASE) 技术的优缺点及工作原理
  • 基于海鸥算法改进的随机森林回归算法 - 附代码
  • 美句分享~程序员的放松时间~