sparkSQL-基础编程(巩固篇)
创始人
2025-05-29 17:36:48
0

基本创建

DSL语法 

SQL语法 


基本创建

        Session对象创建

 //提供Session对象val session = SparkSession.builder() //构建器.appName("sparkSQL") //序名称程.master("local[*]") //执行方式:本地.enableHiveSupport() //支持hive相关操作.getOrCreate() //创建对象

        加载文件

//加载数据文件val df: DataFrame = session.read.json("datas\\user.json")

sparkSQL编程时支持两套语法 :

  1. DSL语法:结合SQL中的关键字作为函数(算子)的名字传递参数进行编程的方式(接近RDD编程)
  2. SQL语法:直接写当前需求SQL或HQL语言运行当前编程(这种方式为sparkSQL编程的主流)

DSL语法 

        使用printSchema()打印表中结构

 df.printSchema()

        打印的结果为二维表的结构 

         使用show()查看表中信息

        该方法约等于 select * from user

  df.show()

         使用select()查询字段

        针对查询某列的数据

df.select("age").show()

        导入sparkSession隐式转换操作

        增强sql的功能:涉及到列运算时 需要使用到$符号

import session.implicits._ //此处session为当前使用的对象df.select($"username",$"age").show()df.select('username,'age).show()

df.select($"username",$"age"+2).show()

         使用创建Column方式进行列运算并使用as方法修改别名

df.select(new Column("age").+(2).as("年龄加2")).show()

        分组聚合操作:统计不同年龄人数
 df.select("age").groupBy("age").count().show()

        条件查询 :获取年龄大于20的数据

df.select("username","age").where("age > 20").show()

SQL语法 

        使用SQL的必要前提是要将当前的数据转换为表或视图的形式,SQL语法操作中提供两种表:

1、临时视图表,作用域只在Session应用范围内有效(常用)

        没有Replace名称的表不会被覆盖

df.createOrReplaceTempView("user")

2、 全局临时表,作用域在整个应用范围都内有效

        使用全局临时表时需要全路径访问:如gloabl_temp.表名

         global为当前sparkAPPlication中可以使用 非global只能在SparkSession中使用

df.createGlobalTempView("user")session.sql("""|select * from global_temp.user|""".stripMargin).show()}

相关内容

热门资讯

贾国龙、罗永浩均被禁言,微博C... 西贝贾国龙与罗永浩线上之争持续受到关注。1月16日晚间,贾国龙启用久未更新的个人微博号宣布,在今晚1...
余承东:鸿蒙6.0系统计划将于... 6月11日消息,在今日的华为Pura80系列及全场景新品发布会上,余承东称,鸿蒙6.0系统计划将于2...
多协会联合发布倡议书,反对商品... 6月11日消息,近日,中国消费者协会联合中国包装联合会、中国循环经济协会、中国食品工业协会、中国快递...
保不准,人民币会闪击6.8! 最近半个月离岸人民币一直在7下方潜伏,几乎没有大的波动,异常地平静。 可是,人民币衍生品市场却格 外...
原创 赵... 大家追剧的时候最喜欢看什么呢?小妹儿最喜欢看的就是CP们甜甜蜜蜜的亲亲抱抱,而现如今的内娱,更是把C...
晶澳科技港股递表失效逾两月 超... 《金证研》南方资本中心 望山*DL/作者 西洲 映蔚/风控在证监会出具的境外发行上市备案补充材料要求...
16倍大牛股陷资本迷局,“AI... 本文来源:时代周报 作者:宋逸霆1月16日晚间,天普股份(605255.SH)发布关于对上交所问询函...
美股大型科技股集体上涨 1月16日,美股三大指数集体高开,标普500指数涨0.22%,道指涨0.18%,纳指涨0.44%。 ...
以为海外收入税务局查不到?这个... 2026年初这波针对境外收入的合规自查行动,力度之大、追溯之深,确实让不少人心头一紧。最近关于境外收...
净利300亿!中信证券走出寒冬... 出品|达摩财经首份2025年券商年度业绩快报出炉。1月14日,中信证券(600030.SH)发布业绩...