首页 > 其他分享 >暑假生活每周总结7

暑假生活每周总结7

时间:2023-08-05 09:36:25浏览次数:40  
标签:总结 sc conf 每周 rdd 暑假 collect print lambda

本周进行了pyhon的学习基础了解

from pyspark import SparkConf,SparkContext

#创建sparkconf对象

conf = SparkConf().setMaster("local[*]").setAppName("test_app")

#基于sparkconf对象创建sparkContext对象

sc = SparkContext(conf=conf)

##########基本结构

 

print(rdds.collect())

#停止spark

sc.stop()

 

 

 

#map计算

rdd = sc.parallelize([1,2,3,4,5])

def func(date):

    return date*10

rdds=rdd.map(func)

#flatMap解除嵌套

rdd = sc.parallelize(["dwad wad wdas","dwadw dfgawdfw dwad","dwadwad"])

rdds=rdd.flatMap(lambda x : x.split(" "))

#reduceByKey分组两两计算

rdd=sc.parallelize([('男',99),('女',99),('女',99),('男',99),('男',99),('男',99)])

rdds = rdd.reduceByKey(lambda a, b: a+b)

print(rdds.collect())

 

#filter过滤数据

rdd=sc.parallelize([1,2,3,4,5])

rdds = rdd.filter(lambda num: num % 2 == 0)

print(rdds.collect())

 

#distinct去重

rdd=sc.parallelize([1, 2, 3, 4, 5, 1])

rdds = rdd.distinct()

print(rdds.collect())

 

#sortBy排序

rdd = sc.parallelize([("daw", 5),("wd", 2),("ww", 54),("wes", 1)])

rdds = rdd.sortBy(lambda x: x[1],ascending=False, numPartitions=1)

print(rdds.collect())

 

 

 

案例

from pyspark import SparkConf,SparkContext

import json

#创建sparkconf对象

conf = SparkConf().setMaster("local[*]").setAppName("test_app")

#基于sparkconf对象创建sparkContext对象

sc = SparkContext(conf=conf)

file_rdd = sc.textFile("D:/order.txt")

json_str_rdd = file_rdd.flatMap(lambda x: x.split("|"))

#转化为map

dict_rdd = json_str_rdd.map(lambda x: json.loads(x))

#城市销售额排名

#print(dict_rdd.collect())

city_with_money = dict_rdd.map(lambda x: (x['areaName'], int(x['money'])))

city_result = city_with_money.reduceByKey(lambda a,b: a+b)

res1 = city_result.sortBy(lambda x: x[1],ascending=False,numPartitions=1)

print(res1.collect())

 

#全部城市有哪些在买

res2 = dict_rdd.map(lambda x: x['category']).distinct()

print(res2.collect())

 

#北京有什么在卖

beijing_data_rdd = dict_rdd.filter(lambda x:x['areaName'] == '北京')

 

res3 = beijing_data_rdd.map(lambda x:x['category']).distinct()

print(res3.collect())

#停止spark

sc.stop()

 

 

 

输出计算

conf = SparkConf().setMaster("local[*]").setAppName("test_spark")

#基于sparkconf对象创建sparkContext对象

sc = SparkContext(conf=conf)

rdd = sc.parallelize([1, 2, 3, 4, 5, 6])

#collect 输出RDD为list对象

list =rdd.collect()

print(list)

#reduce 对rdd进行两两聚合

num = rdd.reduce(lambda a, b: a + b)

print(num)

#take 取出rdd中N个元素,list返回

take_list = rdd.take(3)

print(take_list)

#count 统计rdd中有多少条数据,返回数字

num_count = rdd.count();

print(num_count)

 

 

输出到文件中

import os

from pyspark import SparkConf,SparkContext
os.environ['HADOOP_HOME'] = "D:\hadoop\hadoop-3.3.4"
#创建sparkconf对象
conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
conf.set("spark.default.parallelism","1")#设置分区个数
#基于sparkconf对象创建sparkContext对象
sc = SparkContext(conf=conf)
rdd = sc.parallelize([1, 2, 3, 4, 5, 6])

rdd.saveAsTextFile("D:/Spark.eere")
#停止spark
sc.stop()

 

标签:总结,sc,conf,每周,rdd,暑假,collect,print,lambda
From: https://www.cnblogs.com/syhxx/p/17607490.html

相关文章

  • 第四周总结
    本周学习总结:本周我在学习上主要集中在web开发和大数据技术框架方面。以下是我本周的学习内容和时间分配情况:学习内容:Web开发:我深入学习了前端框架React,并通过实践项目进一步巩固了我的前端开发能力。我学习了React的高级特性,如状态管理和路由,并通过编写组件和处......
  • [刷题笔记][算法模型总结] Luogu P1880 [NOI1995] 石子合并 || 区间dp之合并石子模型
    ProblemSolution本题还有一个弱化版,见LuoguP1775我们发现本题和弱化版唯一区别就是本题有环。我们先将弱化版的内容。EasyversionDescription弱化版是给定了好多堆石子,每相邻的两堆可以合并成一个大堆,每次合并会产生两个石头重量和的价值,最后会将若干堆石子合并为一堆。......
  • 8月4日总结
    8.4周五         异常处理.自己处理:①try…catch…         程序从try里面的代码开始执行②throws                      出现异常,会自动生成一个异常类对象①try{         ......
  • 字符串总结
    title:字符串总结date:2023-07-1721:24:47tags:总结cover:https://gitcode.net/crimson000000/picture/-/raw/blog_pic/3d136f52381284a18738fa16c6f1b361.jpg这里放些字符串相关,总之也就是从头再学字符串了。基本概念border:一个字符串的真前缀,并且它和该字符串的一个......
  • 暑假集训D11 2023.8.4 补题
    题意给定一个数组\(a\).询问区间\([l,r]\)是否可以分成\(k\)段,每一段的和都是\(2\)的倍数(偶数)考虑前缀和\(sum\),如果\(sum[i]-sum[j-1]\)是偶数,那么\([j,i]\)一定是\(1\)个合法的区间.因此对于询问\(l,r\),可以统计前缀和的值为偶数的个数,......
  • 模拟赛总结(2)
    一.题目解析1.机器人输入\(s\)和\(T\),表示命令串长度和秒数。分两种情况讨论:\(1.\quads<T\quad\)这时候我们发现\(s\)是有周期性的,所以以\(s\)为周期,判断周期里的\(x\)和\(y\)是多少,然后进行计数:L=strlen(s);x=x*(T/L);y=y*(T/L);记完数之后......
  • 每周总结2023/8/4平滑处理
    图像滤波是图像处理和计算机视觉中最常用、最基本的操作。主要是去除图像中的噪声,因为图像平滑处理过程中往往会使得图像变的模糊,因此又叫模糊处理。基本原理图像平滑的基本原理是,将噪声所在像素点的像素值处理为其周围临近像素点的值的近似值。图像平滑处理的方法有很多,比如均......
  • ODS层数据同步问题总结
    ODS层数据同步问题总结项目中参与到一些贴源层从各个系统同步数据的需求,理论上ODS层是不做任何处理的,应该很简单才对,但是实际还是超出理论的,结合其他同事踩过的坑,总结一些接入的问题。其实大部分问题,都是源表不规范导致的,因此在抽数前,一定要做好调研,下次写一篇如何做调研的总结......
  • HTML | HTML总结
    HTML注释<!--注释内容-->HTML标签主体结构标签headbodyhtmlHEAD内标签title页面标题meta指定页面元信息单标签 属性:name、content、http-equiv、charset格式排版标签div无语义标签h1-h6页面内容的标题p段落其他常用标签br换行单标签hr分隔单......
  • vim常用命令总结(转)
    新词发现是NLP的基础任务之一,通过对已有语料进行挖掘,从中识别出新词。新词发现也可称为未登录词识别,严格来讲,新词是指随时代发展而新出现或旧词新用的词语。同时,我认为特定领域的专有名词也可归属于新词的范畴。何出此言呢?通常我们会很容易找到通用领域的词表,但要找到某个具......