3.1 利用反射机制推断RDD模式
- sc创建RDD
- 转换成Row元素,列名=值
- spark.createDataFrame生成df
- df.show(), df.printSchema()
![技术分享图片](http://image1.bubuko.com/info/202105/20210514212503172717.jpg)
![技术分享图片](http://image1.bubuko.com/info/202105/20210514212503266467.jpg)
![技术分享图片](http://image1.bubuko.com/info/202105/20210514212503297717.jpg)
3.2 使用编程方式定义RDD模式
- 生成“表头”
- fields = [StructField(field_name, StringType(), True) ,...]
- schema = StructType(fields)
- 生成“表中的记录”
- 把“表头”和“表中的记录”拼装在一起
- = spark.createDataFrame(RDD, schema)
![技术分享图片](http://image1.bubuko.com/info/202105/20210514212503328967.jpg)
4. DataFrame保存为文件
df.write.json(dir)
![技术分享图片](http://image1.bubuko.com/info/202105/20210514212503391467.jpg)
预练习:
读 学生课程分数文件chapter4-data01.txt,创建DataFrame。并尝试用DataFrame的操作完成实验三的数据分析要求。
![技术分享图片](http://image1.bubuko.com/info/202105/20210514212503422717.jpg)
![技术分享图片](http://image1.bubuko.com/info/202105/20210514212503469592.jpg)
count (DISTINCT course):课程总数
07 从RDD创建DataFrame
原文:https://www.cnblogs.com/wuzhime7/p/14769733.html