SparkSQL_SparkSQL_Hint 类似HIVE中的 hint
转载于:
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相关推荐
- python列转行函数_Python pandas 列转行操作详解(类似hive中explode方法)
最近在工作上用到Python的pandas库来处理excel文件,遇到列转行的问题.找了一番资料后成功了,记录一下. 1. 如果需要爆炸的只有一列: df=pd.DataFrame({'A':[1,2 ...
- 在Hive中执行DDL之类的SQL语句时遇到的一个问题
在Hive中执行DDL之类的SQL语句时遇到的一个问题 作者:天齐 遇到的问题如下: hive> create table ehr_base(id string); FAILED: Execut ...
- 3.2-3.3 Hive中常见的数据压缩
一.数据压缩 1. 数据压缩数据量小*本地磁盘,IO*减少网络IOHadoop作业通常是IO绑定的; 压缩减少了跨网络传输的数据的大小; 通过简单地启用压缩,可以提高总体作业性能; 要压缩的数据必须支 ...
- hive中存Array类型的数据的案例,将字符串的数组格式转成数组的字符串,自定义函数方式处理‘[12,23,23,34]‘字符串格式的数据为array<int>格式的数据。
1.创建表带有Array的表: create table t_afan_test ( info1 array<int>, info2 array<string> ) ROW F ...
- hive 中某个字段等于0_快速了解hive
作者丨HappyMint 文章选摘:大数据与人工智能 这是作者的第7篇文章 本文主要针对从事大数据分析和架构相关工作,需要与hive打交道但目前对hive还没有进行深层次了解的小伙伴,希望本文会让你对 ...
- hive中如何把13位转化为时间_重要知识点收藏 | Hive常用函数大全
关系运算 1.等值比较: = 语法:A=B 操作类型:所有基本类型 描述: 如果表达式A与表达式B相等,则为TRUE:否则为FALSE 举例: hive>select 1 from lxw_du ...
- Hive中的排序语法
ORDER BY hive中的ORDER BY语句和关系数据库中的sql语法相似.他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间. ...
- Hive中分组取前N个值
分享两篇文章,结合看更清楚一点. 背景 假设有一个学生各门课的成绩的表单,应用hive取出每科成绩前100名的学生成绩. 这个就是典型在分组取Top N的需求. 解决思路 对于取出每科成绩前100名的 ...
- hive 中String对长度没有限制
hive 中String对长度没有限制 hive 中String对长度没有限制! 今天在存储的时候,有个人推荐系统的元数据,是用数组写的 因为很长,就考虑了一下这个问题 hive的string和var ...
最新文章
- Hadoop配置SSH直接登录
- 【NLP】中文BERT上分新技巧,多粒度信息来帮忙
- 【BZOJ-4522】密钥破解 数论 + 模拟 ( Pollard_Rho分解 + Exgcd求逆元 + 快速幂 + 快速乘)...
- Cut and Paste(模拟)
- java命令行参数_一个 java 命令行参数顺序的坑
- oracle 模拟阻塞,Oracle 阻塞(blocking blocked)介绍和实例演示
- 论文写作1:论第一篇SCI写作时的降重方法总结
- linux使用wiznote笔记
- 用arcgis裁剪面时出错,ERROR 999999: 执行函数时出错
- 通过网站端口攻击服务器,服务器被攻击怎么解决?从端口策略入手
- 搞研究的没有好下场 哈哈哈(精华在最后)
- 80psi等于多少kpa_kpa与psi的换算(kpa与psi对照表)
- 如何构建可持续的ChatGPT高性能服务器端架构?
- pcx游程编码、解码超详细讲解(附带java源码)
- 2021上海益生产品(益生菌)展浅谈-益生菌对身体的21个好处
- 易语言 股票CCI指标 源码
- android车载支持格式,DIY自己的安卓车载中控(支持原车协议)
- HTML标记【超级链接的使用】!
- Public Round #1 题解
- 【js】判断某一天是星期几
热门文章
- Python计时库——Time库的使用详解
- 汽车行业数字化转型:时代巨变下的新机遇
- Nmap基本使用方法
- Html编码转译(HtmlUtils.htmlEscape)
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java疫情期间校园车辆入校预约管理服务系统1171a
- fatal error: error closing /tmp/ccsdc7Zt.s: No space left on device
- linux 命令行与shell脚本编程大全
- 【PyHacker编写指南】网站Cms识别工具
- 菜鸟学Android源码——Setting(1)
- 联诚发618年中盛典圆满收官!4小时突破3000万元!