首页 > 其他分享 >大三寒假学习进度笔记7

大三寒假学习进度笔记7

时间:2024-01-16 22:23:19浏览次数:47  
标签:__ StructType name 笔记 rdd 寒假 spark 大三 schema

今日开始学习DataFrame的创建

# coding:utf8

from pyspark.sql import SparkSession
from pyspark.sql.types import StructType, StringType, IntegerType
import pandas as pd

if __name__ == '__main__':
    spark = SparkSession.builder. \
        appName("test"). \
        master("local[*]"). \
        getOrCreate()

    sc = spark.sparkContext

    rdd = sc.textFile("../data/input/people.txt"). \
        map(lambda x: x.split(",")). \
        map(lambda x: (x[0], int(x[1])))

    # 通过rdd方式创建dataFrame
    # 参数1,被转换的rdd,参数2,指定类名
    df = spark.createDataFrame(rdd, schema=['name', 'age'])

    df.printSchema()

    # 参数1,展示出多少条数据,默认20。参数2,是否对列进行截断
    df.show(20, False)

    # 构建表结构的描述对象:StructType对象
    schema = StructType().add("name", StringType(), nullable=True). \
        add("age", IntegerType(), nullable=False)

    # 基于StructType对象去构建RDD到DF的转换
    spark.createDataFrame(rdd, schema=schema)

    # toDF方式
    rdd.toDF(["name", "age"])
    rdd.toDF(schema=schema)

    # 基于pandas的DataFrame构建
    pdf = pd.DataFrame(
        {
            "id": [1, 2, 3],
            "name": ["张", "王", "李"],
            "age": [11, 21, 13]
        }
    )
    df = spark.createDataFrame(pdf)

 

标签:__,StructType,name,笔记,rdd,寒假,spark,大三,schema
From: https://www.cnblogs.com/wrf1/p/17968687

相关文章

  • 搜索学习笔记+杂题 (进阶一 dfs/bfs的进阶)
    前言:没啥好说的了。所以只能来写博客了。搜索杂题:相关题单:戳我二、进阶dfs/bfs1、dfs进阶——折半搜索(meetinthemiddle)由于深搜的时间复杂度在每种状态有两个分支的情况下是\(O(2^n)\)。所以一般暴力深搜的数据范围就在\(20-25\)之间。而对于有一大类的题,它的搜索思......
  • 1.16寒假每日总结7
     对接口的参数进行合法性校验。  如果不符合参数校验,会报错,但是不合符接口文档要求,所以要进行异常处理 ......
  • AC 自动机学习笔记
    AC自动机学习笔记AC自动机可以用于解决字符串上的出现次数,出现位置问题。结合了Trie树和KMP的思想,在\(O(n)\)的时间内完成查询。相较于KMP的好处在于,AC自动机不仅速度快,而且支持多个模式串同时在一个文本串内查询。算法前置知识:Trie树,KMP,自动机基本概念。构建AC......
  • C语言入门笔记-day1
    C语言笔记-第一天写一些学习的过程中一些不知道的知识点,以防后面遗忘,想起来可以再看。基础第一个C程序—main.c#include<stdio.h>intmain(){//main函数,整个项目文件的入口 printf("Hello,World!\n");//在屏幕上打印Hello,World! return0;//返回值为0......
  • 寒假学习day1
    1.1Spark为何物Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台之一。Hadoop之父DougCutting指出:UseofMapReduceengineforBigDataprojectswilldecline,replacedbyApacheSpark(大数据项目的MapReduce引擎的使用将下降,由ApacheSpark......
  • 阅读笔记2
    有一个惊人的数据,设计期间程序员平均每小时会引入1~3个缺陷,编码期间平均每小时引入5~8个缺陷。有许多同样惊人的数据显示,协同构建可以缩短开发周期,通过代码复查检查错误成本比测试更低,而且可以检查到一些更隐蔽的风格、注释等错误。另外,开发者考虑到需要经过代码复查,编写时便......
  • 阅读笔记1
    我在王建民老师的推荐下,购买了这本书,开始进行了研究和学习。这本书涵盖了编程的方方面面(连宗教信仰问题都考虑了~),可以看出作者对每一个问题都进行了深入思考。我是带着目的去读这本书的,下面是我认为对我有思考价值的地方。构建活动是软件开发中的核心活动。把主要精力集中于构......
  • 从0到1:实验室设备借用小程序开发笔记
    概论实验室设备借用小程序,适合各大高校,科技园区,大型企业集团的实验室设备借用流程,通过数字化的手段进一步提升相关单位设备保障水平,规范实验室和设备管理,用户通过手机小程序扫描设备的二维码,可以方便快捷的提交个人资料,办理借用手续,从而大大提高了工作效率功能规划1.设备清单:展......
  • openGauss学习笔记-199 openGauss 数据库运维-常见故障定位案例-Lock wait timeout
    openGauss学习笔记-199openGauss数据库运维-常见故障定位案例-Lockwaittimeout199.1执行SQL语句时,提示Lockwaittimeout199.1.1问题现象执行SQL语句时,提示“Lockwaittimeout”。ERROR:Lockwaittimeout:thread140533638080272waitingforShareLockonrelat......
  • 学习笔记5
    RDD分区RDD是弹性分布式数据集,通常RDD很大,会被分成很多个分区分别保存在不同的节点上,分区的作用:(1)增加并行度(2)减少通信开销。RDD分区原则是使得分区的个数尽量等于集群中的CPU核心(core)数目,对于不同的Spark部署模式而言(本地模式、Standalone模式、YARN模式、Mesos模式),都可以通过设置......