微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hudi错题本

一,Spark读Hudi读不出数据

Hudi路径下有数据,但是用spark读不出来

在这里插入图片描述

在这里插入图片描述

原因是Hudi文件没有压缩,只能读RT,不能读RO,修改读方式:

.option(DataSourceReadOptions.QUERY_TYPE_OPT_KEY(),DataSourceReadOptions.QUERY_TYPE_INCREMENTAL_OPT_VAL())
.option(DataSourceReadOptions.BEGIN_INSTANTTIME_OPT_KEY(),"20211123215558")

在这里插入图片描述

此时读取数据报错:

Caused by: java.lang.classNotFoundException: org.apache.hudi.common.model.EventTimeAvroPayload

原因是Hudi版本不对,本地版本是0.9,同事写入Hudi时使用的是0.10,换jar包即可

二,spark读hudi时报错 org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat

原因是少包,添加依赖即可:

 <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.12</artifactId>
            <version>${spark.version}</version>
        </dependency>

三,spark读取Hudi报错Caused by: java.lang.classNotFoundException: org.apache.spark.sql.catalyst.StructFilters

Caused by: java.lang.classNotFoundException: org.apache.spark.sql.catalyst.StructFilters
	at java.net.urlclassloader.findClass(urlclassloader.java:381)
	at java.lang.classLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.classLoader.loadClass(ClassLoader.java:357)

spark版本不对,本地用3.0.2,实际上服务器用的是3.1.2,换成3.1.2即解决问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐