前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:https://www.captainai.net/dongkelun
前言
上一篇文章Hudi Spark源码学习总结-spark.read.format(“hudi”).load分析了load方法直接查询Hudi表路径的源码逻辑,那么Spark SQL select 表名的方式和load最终走的逻辑是一样的吗?本文带着这个疑问来分析一下select查询Hudi表的源码逻辑
版本
Spark 2.4.4
Hudi master 0.12.0-SNAPSHOT 最新代码
(可以借助Spark3 planChangeLog 打印日志信息查看哪些规则生效,Spark3和Spark2生效的规则大致是一样的)
示例代码
先Create Table,再Insert几条数据
spark.sql

本文探讨了Spark SQL使用`select`查询Hudi表的源码逻辑,从parsing、analysis到optimization和planning阶段。通过对比`spark.read.format("hudi").load`,发现两者最终走的逻辑相同,都是通过查找Hudi DataSource并调用相应的查询逻辑。总结了关键方法如`singleStatement`、`ResolveRelations`和`Spark2DefaultDatasource.createRelation`等。
订阅专栏 解锁全文
1703





