sparksession对象简介

什么是sparksession对象

spark2.0之后,sparksession对象是spark编码的统一入口对象,通常我们在rdd编程时,需要SparkContext对象作为RDD编程入口,但sparksession对象既可以作为RDD编程对象入口,在sparkcore编程中可以通过它来获取sparkcontext对象进行rdd编程,也可以直接作为sparksql编程入口对象

sparksession对象构建案例

go 复制代码
# coding:utf8
# sparksql中入口对象是SparkSession对象
from pyspark.sql import SparkSession

if __name__ == '__main__':
    # 构建sparksession对象,构建器模式
    spark = SparkSession.builder.\
        appName("mysparkTest").\
        master("local[*]").\
        config("spark.sql.shuffle.partitions", "4").\
        getOrCreate()
    # appName设置程序名称
    # local: 表示 Spark 将在本地模式下运行,即不会连接到任何集群管理器(如 YARN、Mesos 或 Kubernetes)。这通常用于开发和测试目的。
    # [*]: 这是一个特殊的语法,它告诉 Spark 使用所有可用的处理器核心来执行。星号 (*) 是一个占位符,它会被替换为当前机器上的处理器核心数。

    # config设置一些常用属性,不想设置可以不用写
    # getOrCreate创建sparksession对象

    # 通过SparkSession来获取SparkContext对象
    sc = spark.SparkContext
    # 读取csv格式文件,返回DataFrame格式的数据
    df = spark.read.csv("my_csv_file.csv", sep=',', header = False)
    # 给df加上表头,并赋值给新的df2
    df2 = df.toDF("id", "name", "age")
    # 打印df2表结构
    df2.printSchema()
    # 展示df2
    df2.show()
    # 创建临时视图,用于sql操作
    df2.createTempView("score")
    # SQL风格操作
    spark.sql("SELECT * FROM score where age=11 limit 5").show()
    # DSL风格
    df2.where("age=11").limit(5).show()
    
相关推荐
大大大大晴天️3 分钟前
每天认识一个组件:Elasticsearch
大数据·elasticsearch
yyk333247 分钟前
Spark介绍
大数据·分布式·spark
科创致远10 分钟前
第一代 e+SOP 盒子配显示器实测:物美价廉的产线可视化方案
大数据·网络·人工智能·信息可视化·计算机外设·制造·精益工程
ruxshui16 分钟前
Hadoop 生产运维实战手册
大数据·运维·hadoop
QYR-分析19 分钟前
汽车可开启全景天窗:座舱舒适核心配置,智能化升级打开产品溢价空间
大数据·人工智能·汽车
Raas10031 分钟前
2026年AI网关推荐?MAI Gateway(魔芋企业级AI网关)等主流方案横评
大数据·人工智能·ai·gateway·ai网关·mai gateway
泡干脆面就番茄1 小时前
Hive窗口函数:从原理到三大面试题
大数据·数据仓库·hive·hadoop
一个热爱拳击的玩家1 小时前
本地实体如何构建面向 AI 检索的信任链?以杭州拳击行业案例分析
大数据·人工智能·信任链
byte轻骑兵1 小时前
时序数据库选型指南:面向工业物联网大数据场景,Apache IoTDB落地实践
大数据·人工智能·物联网·时序数据库·人大金仓
墨神谕1 小时前
Elasticsearch 倒排索引底层原理详解:从 Term Dictionary、FST 到海量数据性能优化
大数据·elasticsearch·搜索引擎