Spark SQL增量查询Hudi表
社区首页 (3628)




请编写您的帖子内容
社区频道(4)
显示侧栏
卡片版式
全部
交流讨论
博文收录
Ada助手

121
评分
回复


Spark SQL增量查询Hudi表
Hive增量查询Hudi表。最近可能会有Spark SQL增量查询Hudi表的需求,并且我发现目前用纯Spark SQL的形式还不能直接增量查询Hudi表,于是进行学习总结一下。本文总结了Spark SQL增量查询Hudi表的一些参数设置,并给出了示例,介绍了使用纯Spark SQL实现增量查询Hudi表的几种方式,不确定未来社区会采用哪种方式,大家目前如果有这种需求的话,可以先选择一种自己喜欢的方式,等未来社区版本支持后,再升级版本。
复制链接 扫一扫
分享

128
评分
回复


Hudi Spark SQL Call Procedures学习总结(一)(查询统计表文件信息)
学习总结Hudi Spark SQL Call Procedures,Call Procedures在官网被称作存储过程(Stored Procedures),它是在Hudi 0.11.0版本由腾讯的ForwardXu大佬贡献的,它除了官网提到的几个Procedures外,还支持其他许多Procedures命令。本文先学习其中的几个我觉得比较常用的命令,主要是查询统计表路径下的各种文件信息。
复制链接 扫一扫
分享

116
评分
回复


Hudi源码|Insert源码分析总结(一)(整体流程)
Hudi Java Client总结|读取Hive写Hudi代码示例。以Java Client为例的原因:1、自己生产上用的Java Client,相比于Spark客户端更熟悉一点。2、Java Client和Spark、Flink客户端核心逻辑是一样的。不同的是比如Spark的入口是DF和SQL,多了一层API封装。3、Java Client更贴近源码,可以直接分析核心逻辑。不用剖析Spark、Flink源码。对Sprk、Flink源码不熟悉的更容易上手。
复制链接 扫一扫
分享

112
评分
回复


Hudi master 0.13.0-SNAPSHOT Win10 打包异常解决
我一直是在Win10本地编译Hudi包的,因为这样可以直接在IDEA里修改并调试源码,但是前段时间打包Hudi master代码时,发现在Win10 本地打包出现了异常,原因是因为这个PR:[https://github.com/apache/hudi/pull/6135](https://github.com/apache/hudi/pull/6135) 引入了proto,需要使用protoc编译`.proto`文件,使用的是maven的protoc-jar-maven-plugin,但是通过maven下
复制链接 扫一扫
分享

121
评分
回复


Flink SQL操作Hudi并同步Hive使用总结
记录总结自己第一次如何使用Flink SQL读写Hudi并同步Hive,以及遇到的问题及解决过程。关于Flink SQL客户端如何使用可以参考:Flink SQL 客户端查询Hive配置及问题解决Flink 1.14.3Hudi 0.12.0/0.12.1本文采用Flink yarn-session模式,不会的可以参考之前的文章。下载地址:https://repo1.maven.org/maven2/org/apache/hudi/hudi-flink1.14-bundle/0.12.1/hudi-fli
复制链接 扫一扫
分享

124
评分
回复


Hudi Java Client总结|读取Hive写Hudi代码示例
Hudi除了支持Spark、Fink写Hudi外,还支持Java客户端。本文总结Hudi Java Client如何使用,主要为代码示例,可以实现读取Hive表写Hudi表。当然也支持读取其他数据源,比如mysql,实现读取mysql的历史数据和增量数据写Hudi。
复制链接 扫一扫
分享

112
评分
回复


开源经验分享 | 如何从一名小白成为Apache Hudi Contributor
参与Apache Hudi开源有一年多的时间了,马上1024了,虽然距离成为Apache Hudi Commiter还有很遥远的距离,但还是想跟大家分享一下自己的开源经验,讲一下自己如何从开源小白成为Apache Hudi Contributor的。
复制链接 扫一扫
分享

118
评分
回复


Hudi源码|bootstrap源码分析总结(写Hudi)
利用Hudi Bootstrap转化现有Hive表的parquet/orc文件为Hudi表本文简单的对Hudi bootstrap的一些关键的源码逻辑进行了分析,希望能对大家有所帮助。限于精力及能力的原因,有些地方可能不够深入,或者不对的地方,还请大家多多指正,让我们共同进步。
复制链接 扫一扫
分享

116
评分
回复


利用Hudi Bootstrap转化现有Hive表的parquet/orc文件为Hudi表
在最开始学习Hudi源码时,就发现了Hudi有一个Bootstrap功能,但是一直没用过,通过官网文档可知,它可以将现有的表件转化为Hudi表,而且有两种类型和,但是文档并不详细,比如这两种类型的区别具体是啥,支持哪些文件类型的源表。于是带着这些疑问来学习一下它是如何使用的以及源码原理的实现,这样可以更全面的了解Hudi。本文介绍了如何利用Hudi Bootstrap转化现有Hive表为Hudi表,提供了完整的代码示例,并分析了和。
复制链接 扫一扫
分享

120
评分
回复


Hudi Spark SQL源码学习总结-select(查询)
上一篇文章Hudi Spark源码学习总结-spark.read.format(“hudi”).load分析了load方法直接查询Hudi表路径的源码逻辑,那么Spark SQL select 表名的方式和load最终走的逻辑是一样的吗?本文带着这个疑问来分析一下select查询Hudi表的源码逻辑通过上面的分析,我们发现Spark查询Hudi表不管是通过load的方式还是通过sqlselect的方法最终走的逻辑都是一样的。都是先查找source=hudi的DataSource,Spark2对应的为。...
复制链接 扫一扫
分享

122
评分
回复


Hudi Spark源码学习总结-spark.read.format(“hudi“).load(2)
补充上一篇文章Hudi Spark源码学习总结-spark.read.format(“hudi”).load,由于上篇文章篇幅已经比较长了,所以单独写一篇补充一下,没有读过的可以先阅读一下,我们在上篇文章讲到返回的是,那么如果返回呢?本文总结了使用和的原因以及使用时查询Hudi的逻辑,知道了在使用是通过buildScan实现查询的。我在文章学习时,了解到是通过调用buildScan方法来获取数据源的RDD,所以也想看一下的buildScan方法是否也会在查询时用到以及什么情况下会用到,现在还不确定它和。..
复制链接 扫一扫
分享

121
5.0
回复


Hudi Spark源码学习总结-spark.read.format(“hudi“).load
由于工作原因,之前查询Hudi主要是用Hive来查询的,所以对Hive查询Hudi的逻辑比较了解,但是对于Spark查询Hudi的逻辑不太了解。所以现在想要学习一下Spark查询Hudi的大概逻辑,搞清楚它是如何从Spark的源码跳转到Hudi源码执行Hudi查询的逻辑, 这样既能搞清楚Spark查询表的逻辑,也能搞清楚Spark查询Hudi的逻辑,也便于再后面使用Kyuubi Spark SQL 时出现问题能更好的定位解决。...
复制链接 扫一扫
分享

124
评分
回复


Hudi Spark源码学习总结-df.write.format(“hudi“).save
在开始学习Hudi的时候,我们知道通过可以实现写Hudi,并且写Hudi的逻辑是在实现的,但是始终有一个疑问:它怎么从跳到中的呢?本文就是主要来回答这个问题的。本文分析总结了从到的调用逻辑,解决了自己最开始学习Hudi时的一个疑惑😄,希望对大家也能有所帮助。......
复制链接 扫一扫
分享

117
评分
回复


Hudi Spark SQL源码学习总结-CTAS
上一篇文章Hudi Spark SQL源码学习总结-Create Table总结了Create Table的源码执行逻辑,这一篇继续总结CTAS,之所以总结CTAS,是之前在我提交的一个PR中发现,Spark2和Spark3.2.1版本的CTAS的逻辑不一样,最终走的Hudi实现类也不一样,所以本文分Spark2和Spark3.2.1两个版本分析......
复制链接 扫一扫
分享

117
评分
回复


Hudi Spark SQL源码学习总结-Create Table
简要总结HudiSparkSql源码执行逻辑,从建表开始。其实从去年开始接触Hudi的时候就研究学习了HudiSparkSQL的部分源码,并贡献了几个PR,但是完整的逻辑有些地方还没有完全梳理清楚,所以现在想要从头开始学习,搞懂一些知识难点,这样以后看相关源码的时候就不会导致因为一些关键点不懂影响进度。由于本人能力和精力有限,本文只讲解自己觉得比较关键的点,主要目的是梳理整个流程。搞懂了SparkSQL默认的sqlParser为,那么Hudi是一样的吗?那我们就需要看一下开始的这里的f为为。...
复制链接 扫一扫
分享

129
评分
回复


Hudi查询类型/视图总结
上面文章Hive增量查询Hudi表提到Hudi表有读优化视图和实时视图,其实当时并没有完全掌握,所以现在单独学习总结。Hudi官网文档中文称之为视图,其实英文为query types翻译过来为查询类型Hudi 支持下面三种视图Snapshot Queries 快照查询/实时视图 Queries see the latest snapshot of the table as of a given commit or compaction action. In case of merge on read tab
复制链接 扫一扫
分享

127
评分
回复


Hive增量查询Hudi表
简单总结如何利用Hive增量查询Hudi表我们在写数据时,可以配置同步Hive参数,生成对应的Hive表,用来查询Hudi表,具体来说,在写入过程中传递了两个由命名的Hive表。 例如,如果,我们得到 实现了由 支持的数据集的读优化视图,从而提供了纯列式数据。 实现了由 支持的数据集的实时视图,从而提供了基础数据和日志数据的合并视图。其中实时视图表只有在MOR表同步Hive元数据时才会有按照我之前总结的Apache Hudi 入门学习总结中Hive和Tez部分配置,就可以在Hive命令行里用Hive
复制链接 扫一扫
分享

125
评分
回复


Hudi DeltaStreamer使用总结
总结如何利用Hudi DeltaStreamer工具从外部数据源读取数据并写入新的Hudi表,是hudi-utilities-bundle的一部分,按照Apache Hudi 入门学习总结,将hudi-spark-bundle包拷贝至$SPARK_HOME/jars目录下即可。提供了从DFS或Kafka等不同来源进行摄取的方式,并具有以下功能。命令行选项更详细地描述了这些功能:最新版本应该支持了更多参数,可以查阅官网:https://hudi.apache.org/cn/docs/hoodie_delta
复制链接 扫一扫
分享


129
评分
回复


Hudi Clean 清理文件实现分析
前言源码层面总结分析Hudi Clean是如何实现的,不了解Hudi Clean的可以先看这篇:一文彻底理解Apache Hudi的清理服务。Hudi Clean主要是清理删除不需要的历史文件,可以根据实际业务需要配置参数,不能影响查询,比如某个查询语句正在用某个文件,Clean如果删除了这个文件,查询就会报错。这里只是删除历史文件,Hudi的文件是有多个版本的,不管配置什么参数,使用什么策略,都不会删除当前最新版本的文件。Hudi 0.9.0版本有两种清理策略KEEP_LATEST_COMMITS
复制链接 扫一扫
分享
为您搜索到以下结果: