首页 > 其他分享 >1/30 学习进度笔记

1/30 学习进度笔记

时间:2024-01-30 16:56:31浏览次数:35  
标签:窗口 函数 AST 30 笔记 UDF SparkSQL Hive 进度

无论Hive还是SparkSQL分析处理数据时,往往需要使用函数,SparkSQL模块本身自带很多实现公共功能的函数,在pyspark.sql.functions中。SparkSQL与Hive一样支持定义函数:UDF和UDAF,尤其是UDF函数在实际项目中使用最为广泛。

回顾Hive中自定义函数有三种类型:

第一种:UDF (User-Defined-Function)函数

  一对一的关系,输入一个值经过函数以后输出一个值;

  在Hive中继承UDF类,方法名称为evaluate,返回值不能为void,其实就是实现一个方法;

第二种:UDAF (User-Defined Aggregation Function)聚合函数

  多对一的关系,输入多个值输出一个值,通常与groupBy联合使用;

第三种:UDTF (User-Defined Table-Generating Functions)函数

  一对多的关系,输入一个值输出多个值(一行变为多行)﹔

  用户自定义生成函数,有点像flatMap;

 

1. SparkSQL支持UDF和UDAF定义,但在Python中,暂时只能定义UDF

2. UDF定义支持2种方式,

  1:使用SparkSession对象构建.

  2:使用functions包中提供的UDF API构建.要注意,方式1可用DSL和SQL风格,方式2仅可用于DSL风格

3. SparkSQL支持窗口函数使用,常用SQL中的窗口函数均支持,如聚合窗口\排序窗口\NTILE分组窗口等

SparkSQL的执行流程:

1.提交SparkSQL代码

2.catalyst优化

  a.生成原始AST语法数

  b.标记AST元数据

  c.进行断言下推和列值裁剪以及其它方面的优化作用在AST上

  d.将最终AST得到,生成执行计划

   e.将执行计划翻译为RDD代码

3.Driver执行环境入口构建(SparkSession)

4.DAG调度器规划逻辑任务

5.TASK调度区分配逻辑任务到具体Executor上工作并监控管理任务

6. Worker干活.

 

 

今日还完成了Spark On hive的配置以及使用了Datagrip来连接spark

 

标签:窗口,函数,AST,30,笔记,UDF,SparkSQL,Hive,进度
From: https://www.cnblogs.com/yuncannotjava/p/17997457

相关文章

  • 每日总结2024年1月30日
    今天完成了歌声转换的第一阶段验收。我们小组选择的服务外包杯课题是A13的歌声转化,我们计划实现两个方面的功能。能够选择人声,然后根据导入的歌曲,替换原声,生成新的歌曲,这是我们计划的基础目标。但是考虑到条件的局限性,我们很难让用户自行导入音色素材直接转化为需要的音色,目前计......
  • 美赛2023C练习-做题笔记
    代码:clc;TC=ProblemCDataWordle;%数据处理noC=TC(:,1);wordC=TC(:,2);dataC=TC(:,3:11);no=cell2mat(noC);data=cell2mat(dataC);L=size(wordC);L=L(1);word=[];%原表格有错误,根据网络数据进行修正wordC{36}="clean";wordC{247}="trash";%修正endfori=1:L......
  • 题解 P7309 [COCI2018-2019#2] Kocka
    传送门。题意一个$N\timesN$的矩形,有从四周往内望去的第一个位置的距离,问是否存在一个矩形满足我们的观察。分析先说说我这个蒟蒻想出来的巨麻烦的方法。首先先判断最简单的矛盾,就是左右穿插,上下穿插,这是第一步。//-1变成nfor(inti=1;i<=n;++i)if(L[i]+R[i]>=n)......
  • 软件测试学习笔记丨JMeter_实现分组并发
    Jmeter_实现分组并发实现思路:线程数和时间进行参数化,使用命令模式进行执行,再添加报告进行每次展示。执行时可以使用linux定时器或者脚本调用。命令执行命令启动jmeter命令:jmeter-Jpara1=4-Jpara2=15-n-tpreClassMenu_1117.jmx-le:/res/res1.jtl-e-oe:/res/res/......
  • [刷题笔记] ybt 1364:二叉树遍历(flist)
    Problem_LinkDescription树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。Analysis我们先前做过给定前序......
  • P4220 通道笔记
    边分治神题。前置知识:边分治,虚树。题意给定$3$棵有边权的树,每棵树都含有$n$个节点,令$dis_i(x,y)$表示$(x,y)$在第$i$棵树上的距离。求一组$(i,j)$,使得$\sum\limits_{k=1}^3dis_k(i,j)$最大,为了方便,只需输出最大值。题解考虑边分治。下......
  • MySQL-8.0.30升级MySQL-8.0.34
    记录一次MySQL漏洞升级操作升级背景:OracleMySQL官方发布MySQL-8.0.30版本高危漏洞CVE-2022-32221、CVE-2022-37434等,受影响版本涉及到8.0.32,官方建议升级至8.0.33,最好使用8.0.34,这里我们将MySQL-8.0.30升级至MySQL-8.0.34版本方案:将原mysql目录重命名,解压新的程序目录软链接到......
  • 动态 DP 学习笔记
    动态DPP4719动态DP给定一棵\(n\)(\(n\leqslant10^5\))个点的树,点带点权。有\(m\)(\(m\leqslant10^5\))次操作,每次操作给定\(x,y\),表示修改点\(x\)的权值为\(y\)。你需要在每次操作之后求出这棵树的最大权独立集的权值大小。首先考虑\(m=0\)时的做法,可以......
  • 牛客周赛 Round 30
    牛客周赛Round30A代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;usingpii=pair<ll,ll>;#definefifirst#definesesecondusingi128=__int128_t;voidsolve(){strings;cin>>s;for(inti=0;......
  • 【2024.01.30】闪光灯漫展实践操作
    在漫展时候使用机顶闪的时候我常常觉得人物的曝光太大了即使是光圈开到100也是很亮结果后面基本上都是使用自然光进行拍摄场照的话,只有一项数值是固定的,光圈调到最大这样子的背景是虚化比较好看的,光会被打成好看的圆形所以我一般使用半自动光圈优先的挡位,然后ISO调整到100然......