转载于:

1.关于sparksql中的hint

https://www.cnblogs.com/lestatzhang/p/10669547.html

前言

在Spark中,结构化查询可以通过指定查询提示(hint)来进行优化。

查询提示,即向查询加入注释,告诉查询优化器提供如何优化逻辑计划, 这在查询优化器无法做出最佳决策时十分有用。

Spark SQL支持COALESCE,REPARTITION以及BROADCAST提示。 在分析查询语句时,所有剩余的未解析的提示将从查询计划中被移除。

Spark SQL 2.2增加了对提示框架(Hint Framework)的支持。

如何使用查询提示hint

我们可以使用Dataset.hint运算符或带有提示的SELECT SQL语句指定查询提示。

// Dataset APIval q = spark.range(1).hint(name = "myHint", 100, true)val plan = q.queryExecution.logicalscala> println(plan.numberedTreeString)00 'UnresolvedHint myHint, [100, true]01 +- Range (0, 1, step=1, splits=Some(8))// SQLval q = sql("SELECT /*+ myHint (100, true) */ 1")val plan = q.queryExecution.logicalscala> println(plan.numberedTreeString)00 'UnresolvedHint myHint, [100, true]01 +- 'Project [unresolvedalias(1, None)]02 +- OneRowRelation

SELECT SQL语句支持查询提示作为SQL查询中的注释,Spark SQL将其转换为逻辑计划中的UnresolvedHint一元逻辑运算符。

COALESCE 和 REPARTITION 提示

Spark SQL 2.4增加了对COALESCE和REPARTITION提示的支持(使用SQL注释), 语法如下:

SELECT /*+ COALESCE(5) */ …​

SELECT /*+ REPARTITION(3) */ …​

Broadcast提示

Spark SQL 2.2支持使用广播标准函数或SQL注释的BROADCAST提示 ,语法如下:

SELECT /*+ MAPJOIN(b) */ …​

SELECT /*+ BROADCASTJOIN(b) */ …​

SELECT /*+ BROADCAST(b) */ …​

参考资料

Hint Framework

SparkSQL_SparkSQL_Hint 类似HIVE中的 hint相关推荐

  1. python列转行函数_Python pandas 列转行操作详解(类似hive中explode方法)

    最近在工作上用到Python的pandas库来处理excel文件,遇到列转行的问题.找了一番资料后成功了,记录一下. 1. 如果需要爆炸的只有一列: df=pd.DataFrame({'A':[1,2 ...

  2. 在Hive中执行DDL之类的SQL语句时遇到的一个问题

    在Hive中执行DDL之类的SQL语句时遇到的一个问题 作者:天齐 遇到的问题如下: hive> create table ehr_base(id string); FAILED: Execut ...

  3. 3.2-3.3 Hive中常见的数据压缩

    一.数据压缩 1. 数据压缩数据量小*本地磁盘,IO*减少网络IOHadoop作业通常是IO绑定的; 压缩减少了跨网络传输的数据的大小; 通过简单地启用压缩,可以提高总体作业性能; 要压缩的数据必须支 ...

  4. hive中存Array类型的数据的案例,将字符串的数组格式转成数组的字符串,自定义函数方式处理‘[12,23,23,34]‘字符串格式的数据为array<int>格式的数据。

    1.创建表带有Array的表: create table t_afan_test ( info1 array<int>, info2 array<string> ) ROW F ...

  5. hive 中某个字段等于0_快速了解hive

    作者丨HappyMint 文章选摘:大数据与人工智能 这是作者的第7篇文章 本文主要针对从事大数据分析和架构相关工作,需要与hive打交道但目前对hive还没有进行深层次了解的小伙伴,希望本文会让你对 ...

  6. hive中如何把13位转化为时间_重要知识点收藏 | Hive常用函数大全

    关系运算 1.等值比较: = 语法:A=B 操作类型:所有基本类型 描述: 如果表达式A与表达式B相等,则为TRUE:否则为FALSE 举例: hive>select 1 from lxw_du ...

  7. Hive中的排序语法

    ORDER BY hive中的ORDER BY语句和关系数据库中的sql语法相似.他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间. ...

  8. Hive中分组取前N个值

    分享两篇文章,结合看更清楚一点. 背景 假设有一个学生各门课的成绩的表单,应用hive取出每科成绩前100名的学生成绩. 这个就是典型在分组取Top N的需求. 解决思路 对于取出每科成绩前100名的 ...

  9. hive 中String对长度没有限制

    hive 中String对长度没有限制 hive 中String对长度没有限制! 今天在存储的时候,有个人推荐系统的元数据,是用数组写的 因为很长,就考虑了一下这个问题 hive的string和var ...

最新文章

  1. Hadoop配置SSH直接登录
  2. 【NLP】中文BERT上分新技巧,多粒度信息来帮忙
  3. 【BZOJ-4522】密钥破解 数论 + 模拟 ( Pollard_Rho分解 + Exgcd求逆元 + 快速幂 + 快速乘)...
  4. Cut and Paste(模拟)
  5. java命令行参数_一个 java 命令行参数顺序的坑
  6. oracle 模拟阻塞,Oracle 阻塞(blocking blocked)介绍和实例演示
  7. 论文写作1:论第一篇SCI写作时的降重方法总结
  8. linux使用wiznote笔记
  9. 用arcgis裁剪面时出错,ERROR 999999: 执行函数时出错
  10. 通过网站端口攻击服务器,服务器被攻击怎么解决?从端口策略入手
  11. 搞研究的没有好下场 哈哈哈(精华在最后)
  12. 80psi等于多少kpa_kpa与psi的换算(kpa与psi对照表)
  13. 如何构建可持续的ChatGPT高性能服务器端架构?
  14. pcx游程编码、解码超详细讲解(附带java源码)
  15. 2021上海益生产品(益生菌)展浅谈-益生菌对身体的21个好处
  16. 易语言 股票CCI指标 源码
  17. android车载支持格式,DIY自己的安卓车载中控(支持原车协议)
  18. HTML标记【超级链接的使用】!
  19. Public Round #1 题解
  20. 【js】判断某一天是星期几

热门文章

  1. Python计时库——Time库的使用详解
  2. 汽车行业数字化转型:时代巨变下的新机遇
  3. Nmap基本使用方法
  4. Html编码转译(HtmlUtils.htmlEscape)
  5. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java疫情期间校园车辆入校预约管理服务系统1171a
  6. fatal error: error closing /tmp/ccsdc7Zt.s: No space left on device
  7. linux 命令行与shell脚本编程大全
  8. 【PyHacker编写指南】网站Cms识别工具
  9. 菜鸟学Android源码——Setting(1)
  10. 联诚发618年中盛典圆满收官!4小时突破3000万元!