当前位置: 首页 > 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/news/18150.html

相关文章:

  • 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) 技术的优缺点及工作原理
  • 基于海鸥算法改进的随机森林回归算法 - 附代码
  • 美句分享~程序员的放松时间~
  • 并发编程01:基础篇
  • Linux常用命令,你需要了解多少呢?
  • Java字符串的用法、原理、性能分析和总结
  • 杜甫经典长诗“三吏”“三别”赏析
  • FAST协议解析2 FIX Fast Tutorial翻译【PMap、copy操作符】
  • 代码随想录算法训练营day30 | 332. 重新安排行程,51. N 皇后,37. 解数独
  • Ubuntu22.04.2 LTS 安装nvidia显卡驱动及配置pytorch
  • David Silver Lecture 4: Model-Free Prediction
  • 【Java|golang】2432. 处理用时最长的那个任务的员工
  • ES堆内存:大小和交换