hive/spark用法记录

1. cast()更改数据类型

cast(column_name as type)

2. get_dt_date()自定义日期操作函数(返回不带横线的日期)

select get_dt_date();–获取当前日期,返回 20170209
select get_dt_date(get_date(-2));–获取当前日期偏移,转为不带横杆的格式
select get_dt_date(‘2017-02-02’,-2);–20170131

3.ROW_NUMBER(),它为结果集的分区中的每一行分配一个连续的整数。 行号以每个分区中第一行的行号开头。

ROW_NUMBER() OVER (
    [PARTITION BY partition_expression, ... ]
    ORDER BY sort_expression [ASC | DESC], ...
)

PARTITION BY子句将结果集划分为分区。 ROW_NUMBER()函数分别应用于每个分区,并重新初始化每个分区的行号。PARTITION BY子句是可选的。如果未指定,ROW_NUMBER()函数会将整个结果集视为单个分区。ORDER BY子句定义结果集的每个分区中的行的逻辑顺序。 ORDER BY子句是必需的,因为ROW_NUMBER()函数对顺序敏感。

4.根据分区查询partitions where

5.插入或覆写数据(INSERT INTO | INSERT OVERWRITE)

执行insert into和insert overwrite操作前需要具备目标表的修改权限(Alter)及源表的元信息读取权限(Describe)。授权操作请参见权限列表

6. 千分位函数percentile(), percentile_approx()

原理点击上面链接
使用方法:1.
2.

7. row_number() over (order by column_name)输出结果会基于order by排序

select table.*,row_number() over (order by score)  as rank
from
    (
        select * from table1
		limit 100
) table2

8.extend[‘dict’] as dict_name

extend把原本是字典的序列扩展成新的一列
比如

user_id gender
1 gender:female
2 gender:male
extend['gender'] as gender
|  user_id | gender  |
|     1    |  female |
|     2    |  male  |

9. ${yyyyMMdd,1, day}’

1表示加一天,比如输入 20220801,那么上面的变量出来的日期为20220802;
而如果是-1,则表示往前一天,比如输入20220801,那么上面的变量出来的日期为20220731

10. spark.sql.autoBroadcastJoinThreshold、spark.sql.broadcastTimeout

这个目前还不太清楚具体场景,记录下

属性 默认值 描述
spark.sql.broadcastTimeout 300 广播等待超时时间,单位秒
spark.sql.autoBroadcastJoinThreshold 10485760 (10 MB) 最大广播表的大小。设置为-1可以禁止该功能。当前统计信息仅支持Hive Metastore表

相关推荐

  1. hive/spark用法记录

    2023-12-12 06:06:05       57 阅读
  2. socat用法记录

    2023-12-12 06:06:05       30 阅读
  3. SQL中limit用法记录

    2023-12-12 06:06:05       50 阅读
  4. 【Lambda】lambda的list用法记录

    2023-12-12 06:06:05       62 阅读
  5. Pillow库画图用法记录python

    2023-12-12 06:06:05       55 阅读
  6. 记录 | python with用法及原理

    2023-12-12 06:06:05       60 阅读
  7. 记录 | python tqdm用法_图片读取进度

    2023-12-12 06:06:05       63 阅读
  8. Mysql 常用语句及用法记录

    2023-12-12 06:06:05       34 阅读
  9. MySQL学习记录——십삼 视图及用户、权限管理

    2023-12-12 06:06:05       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-12 06:06:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-12 06:06:05       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-12 06:06:05       87 阅读
  4. Python语言-面向对象

    2023-12-12 06:06:05       96 阅读

热门阅读

  1. What is MySQL Performance Schema?

    2023-12-12 06:06:05       62 阅读
  2. linux的磁盘管理

    2023-12-12 06:06:05       50 阅读
  3. 计算机网络中物理层介绍

    2023-12-12 06:06:05       57 阅读
  4. C++编程:使用boost::gil::channel_type的示例程序

    2023-12-12 06:06:05       63 阅读
  5. MATLAB中的Table数据使用

    2023-12-12 06:06:05       59 阅读
  6. 测试:接口参数测试

    2023-12-12 06:06:05       62 阅读
  7. OpenSSL 编程示例

    2023-12-12 06:06:05       52 阅读
  8. 第20关 快速掌握K8S下的有状态服务StatefulSet

    2023-12-12 06:06:05       67 阅读
  9. 产品经理进阶:以客户为中心的8个维度

    2023-12-12 06:06:05       65 阅读
  10. 猜数字游戏的Python实现

    2023-12-12 06:06:05       55 阅读