- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
虽然“spark.sql.orc.filterPushdown”等于 false(默认情况下)。以下语句需要 3 分钟才能执行。
val result = spark.read.schema(schema).orc("s3a://......./*")
result.select("a","b").where(col("a")===1318138224).explain(extended = true)
result.select("a","b").where(col("a")===1318138224).show()
在实际计划中它说; PushedFilters: [IsNotNull(a), EqualTo(a,1318138224)]
因此,即使通过查看“PushedFilters”语句默认禁用“filterPushdown”,我认为 spark 会以某种方式下推过滤器。
但是在将 spark.sql.orc.filterPushdown 设置为“true”后,相同的代码片段大约需要 30 秒。 奇怪的是物理计划是相同的。
所以我查看了 SparkUI 的“阶段”部分,发现输入大小的数量不同。
spark.conf.set("spark.sql.orc.filterPushdown", false)
spark.conf.set("spark.sql.orc.filterPushdown", true)
所以我想读取 orc 文件,即使 Physical 的 PushedFilters 填充了一些参数(非空),这并不意味着 Spark 实际上会执行下推谓词/过滤器?
还是我遗漏了什么?
最佳答案
查询计划不受 filterPushdown
配置的影响(对于 parquet 或 orc)。 Spark 始终尝试将过滤器推送到源。配置控制是否允许源应用数据跳过。有时即使配置设置为 true,在某些情况下也可能不会发生数据跳过(由于错误,或列统计信息不正确或类型不受支持)。
您还可以在 web ui 的 SQL 选项卡中检查“输出行数”。
谓词下推&分区剪枝后读取的行数。
Scan parquet
number of files read: 1
scan time total (min, med, max )
18.7 s (12 ms, 214 ms, 841 ms )
metadata time: 0 ms
size of files read: 783.9 MiB
number of output rows: 100,000,000
关于scala - Spark Filter/Predicate Pushdown 是否在 ORC 文件中没有按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57856511/
我接触过多种信息来源,例如找到的一个 here ,将“谓词下推”解释为: … if you can “push down” parts of the query to where the data i
根据问题,下推自动机可以具有零最终状态吗? 最佳答案 是的! PDA 有很多不同的定义,但通常定义是说一个 PDA 有一组接受状态,它必须是 PDA 中所有状态的集合的子集。空集是有效集,因此 PDA
一 概念介绍 Index Condition Pushdown (ICP)是MySQL 5.6 版本中的新特性,是一种在存储引擎层使用索引过滤数据的一种优化方式。 a 当关闭ICP时,index
我希望通过JDBC连接从表中读取数据,既使用WHERE子句进行过滤,又使用选项artitionColumn、lowerBound、upperbound、numPartitions对另一列进行分区。。目
虽然“spark.sql.orc.filterPushdown”等于 false(默认情况下)。以下语句需要 3 分钟才能执行。 val result = spark.read.schema(sche
在 Tez 上使用 Hive 针对此 View 运行此查询会导致全表扫描,即使在 regionid 和 id 上存在分区也是如此。 Cloudera Impala 中的这个查询需要 0.6 秒才能完成
我有以下问题: 我的标题由菜单、一些使用 flexslider 滑动的新闻和一个搜索输入组成: 问题:当我手动调整浏览器的大小,或者以更小的宽度重新加载时;右侧元素向下跳(下推,因为没有剩余空间) 这
我是一名优秀的程序员,十分优秀!