10 期末大作业

 

 

04 RDD编程练习

 

 未交原因:写完忘记提交了

 

一、filter,map,flatmap练习:

1.读文本文件生成RDD lines

2.将一行一行的文本分割成单词 words

 

 

 

 

3.全部转换为小写

 

 

4.去掉长度小于3的单词

 

 

5.去掉停用词

 

 

6.练习一的生成单词键值对

 

 

05 RDD练习:词频统计,学习课程分数

 未交原因:忘记写了,现补

一、词频统计:

1.读文本文件生成RDD lines

2.将一行一行的文本分割成单词 words flatmap()

3.全部转换为小写 lower()

4.去掉长度小于3的单词 filter()

5.去掉停用词

6.转换成键值对 map()

7.统计词频 reduceByKey()

 

 

二、学生课程分数 groupByKey() -- 按课程汇总全总学生和分数

1. 分解出字段 map()

2. 生成键值对 map()

3. 按键分组 groupByKey()

4. 输出汇总结果 for i in <>:

 
 
 

07 从RDD创建DataFrame

 未交原因:写完了忘记交了

1.pandas df 与 spark df的相互转换

df_s=spark.createDataFrame(df_p)

df_p=df_s.toPandas()

 

 

 

 

2. Spark与Pandas中DataFrame对比

http://www.lining0806.com/spark%E4%B8%8Epandas%E4%B8%ADdataframe%E5%AF%B9%E6%AF%94/

 

3.1 利用反射机制推断RDD模式

sc创建RDD

转换成Row元素,列名=值

spark.createDataFrame生成df

df.show(), df.printSchema()

 

 

 

 

 

 

 

 

 

3.2 使用编程方式定义RDD模式

生成“表头”fields = [StructField(field_name, StringType(), True) ,...]

    schema = StructType(fields)

    生成“表中的记录”
    创建RDD转换成Row元素,
    列名=值

    把“表头”和“表中的记录”拼装在一起
    =spark.createDataFrame(RDD, schema)

 4. DataFrame保存为文件

df.write.json(dir)

 

大作业:

1.选择使用什么数据,有哪些字段,多大数据量。

数据:疫情数据

字段:省份、确诊人数、死亡人数、治愈人数、新增人数

2.准备分析哪些问题,可视化方式?(8个以上)

(1)中国现有感染人数情况, 地图

(2) 中国现有感染人数情况, 柱状图

(3)北上广深现有感染人数情况,条形图

(4)感染分布,地图

(5)日新增人数前五的省份,漏斗图

(6)日新增感染人数前五的省份,散点图

(7)中国疫情情况,饼图

(8)现有感染人数前五的省份, 象型图

3.当前进展。

获取了数据表

posted @ 2021-06-07 16:32  gzh0602  阅读(60)  评论(0)    收藏  举报