大三寒假学习进度笔记7

今日开始学习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)
复制代码

 

posted @   wrf12  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示