spark是一种基于rdd的弹性分布式数据集的计算框架软件。

官方提供scala接口,Python接口,以及java接口。

这里提供scala和Python的两种版本的对照代码,会持续更新下去。

欢迎关注。

scala版本

package com.chen.spark

import org.apache.spark.SparkConf

import org.apache.spark.SparkContext

object WordCount {

def main(args : Array[String]) : Unit = {

// 获取sc

val sparkConf = new SparkConf().setAppName("wordcount").setMaster("local")

val sc = new SparkContext(sparkConf)

val data = sc.textFile("hdfs://localhost:9000/user/datatest/word.txt", 1)

// 读取hdfs 文件,1为最小并行度,读hdfs和hive表有默认值,一般读本地文件才设置

// 词频统计的主函数

val dataRDD = data.flatMap(line => line.split(" "))

.map(word => (word, 1))

.reduceByKey(_ + _)

dataRDD.foreach(word => println(word._1 + ":" + word._2))

sc.stop()

}

}

python

# -*- coding:UTF-8 _*__init_

from pyspark import SparkConf

from pyspark import SparkContext

def CreateSparkContext():

sparkConf = SparkConf().setAppName("wordcont_py").set("spark.ui.showConsoleProgress", "false")

sc = SparkContext(conf = sparkConf)    # 不同于scala,这里必须指定conf来传参

print("master =" + sc.master)

return sc

if __name__ == "__main__":

print("开始执行词频统计")

sc = CreateSparkContext()

data = sc.textFile("hdfs://localhost:9000/user/datatest/word.txt")

dataRDD = data.flatMap(lambda line : line.split(" "))

.map(lambda word : (word, 1))

.reduceByKey(lambda x, y : x + y)

# 执行动作算子,返回list嵌套tuple类型

data_list = dataRDD.collect()

print("词频统计结果")

# 不同于scala Python版本的foreach无法执行print

for i in data_list:

print(str(i[0]) + ":" + str(i[1]))

sc.stop()

scala输出结果

Python输出结果

python 埋点_scala spark 埋点统计_spark—1:WordCount(Python与Scala对照)相关推荐

  1. scala spark 埋点统计_spark—1:WordCount(Python与Scala对照)

    spark是一种基于rdd的弹性分布式数据集的计算框架软件. 官方提供scala接口,Python接口,以及java接口. 这里提供scala和Python的两种版本的对照代码,会持续更新下去. 欢迎 ...

  2. python接收输入的一行字符只统计数字的个数,Python(统计字符),python实例,输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数...

    Python(统计字符),python实例,输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数 题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 程序分析:利用 ...

  3. python查看物理内存和交换区的统计信息_使用python获取CPU和内存信息的思路与实现(linux系统)...

    linux里一切皆为文件,在linux/unix的根文件夹下,有个/proc文件夹,这个/proc 是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做"/proc&qu ...

  4. python 埋点_数据埋点方案简述

    数据是机器学习的前提,前面使用Python爬虫抓取数据篇介绍了通过爬虫抓取网页的方式采集数据.对于新产品,最重要的事项是获取用户,参看前面互联网产品怎么发掘种子用户和意见领袖 这篇. 在产品上线之后, ...

  5. python埋点测试_埋点进化论:从埋点到无埋点

    鲁迅先生说:世界上本没有埋点,需要数据的人多了,也就有了埋点. 埋点的诞生 在最初的互联网世界中,并没有埋点的概念.大家并不关心流量从哪里来,用户在网站上做了什么事,一切都是野蛮生长. 随着业务的增长 ...

  6. Python技术栈与Spark交叉数据分析双向整合技术实战--大数据ML样本集案例实战

    版权声明:本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客.QQ邮箱地址:1120746 ...

  7. ios无痕埋点_iOS可视化埋点方案

    前言 随着公司业务的发展,数据的重要性日益体现出来. 数据埋点的准确和全面性显得尤为重要. 通过精准和详细的数据,后面的分析才有意义.随着业务的不断变化,动态化埋点也越来越重要. 三大埋点方式 为了解 ...

  8. 代码埋点、可视化埋点、无埋点几种数据埋点方案的分析报告

    目录 数据采集的核心问题 一.埋点是什么 二.为什么要埋点 三.埋点有哪些方式 四.各埋点方式优劣对比 五.其他 在这篇文章里面,我们会对数据采集的一些基本概念进行阐述,然后,会针对目前市面上新增的一 ...

  9. 《Spark实时词频统计处理系统》

    ------此项目整理自<Spark Streaming 实时流式大数据处理实战>肖力涛                                             第8章 实 ...

最新文章

  1. Ardino基础教程 18_驱动74HC595
  2. java console 交互_实例讲解java中Console类的用法
  3. 农产品谋定创意种植-农业大健康·焦裕良:新概念新创意
  4. vue office在线编辑_VUE和Antv G6实现在线拓扑图编辑
  5. vue代码生成器可视化界面_手把手教你基于SqlSugar4编写一个可视化代码生成器(生成实体,以SqlServer为例,文末附源码)...
  6. 高效的企业测试-单元和用例测试(2/6)
  7. 长在华人第一学霸家族的他,到底有多牛?
  8. oracle 10g安装需注意细节
  9. 关于DOM操作的几个类型
  10. 从曾经的无比辉煌,到如今彻底凉凉,万能充到底经历了什么?
  11. RHEL4下刻录机使用--终端图形化方式
  12. 澳门中区停电2小时影响396户 1人困电梯后获救
  13. office 2003 兼容包 (兼容 office 2007 office 2010)
  14. 一个小小的flash
  15. 真实!数据分析师到底是做什么的?
  16. 计算机机房装修效果图,机房装修施工流程是什么? 机房装修效果图
  17. 频数直方图的步骤_把握步骤 正确绘制频数分布直方图
  18. 浏览器打开默认极速模式
  19. tensorflow2.6.0+annconda4.10.1+cuda11.2+cudnn8.0+pycharm运行tensorflow-gpu版本·
  20. MTL831C MTL838C MTL5053 EATON传输模块

热门文章

  1. linux拷贝文件夹到另一台机器,linux肿么一个文件拷贝到另一个文件夹
  2. linux脚本猜数字游戏,101个shell脚本 猜数字游戏代码
  3. php载入内存的是本地代码吗,常量和静态变量会先载入内存后在进行执行php代码...
  4. java heap 查看_使用VisualVM查看Java Heap Dump
  5. 洛谷 P4823 [TJOI2013]拯救小矮人
  6. 实验3.1 定义一个CPU类,观察构造函数和析构函数的调用顺序
  7. ## CSP 201312-2 ISBN号码(C语言)(100分)
  8. 升级 卸载 ubuntu的kernel版本
  9. citypersons数据集下载
  10. 【JavaScript】变量