填坑!线上Presto查询Hudi表异常排查

填坑!线上Presto查询Hudi表异常排查

背景

最近我们使用Presto来查询Hudi表的时候,遇到了一些异常。我们的查询语句没有任何错误,但是查询结果始终为0,而且并没有任何报错信息。针对这个问题,我们进行了一些排查并解决了问题。在这里,我们分享一下我们的排查过程和解决方法。

排查过程

首先我们检查了数据是否有问题,使用Hadoop FSCK命令查看文件系统是否有错误。结果显示,HDFS没有错误。接着我们针对查询语句进行了全面的检查,也没有发现任何问题。

这时我们怀疑是Presto的问题,于是我们查看了Presto的日志和配置文件。在日志中发现,Presto无法读取Hudi表中的数据,因为Hudi的名称节点(NameNode)中缺少Hudi的元数据。经过我们的分析,我们认为可能是Hudi元数据不正确导致Presto无法读取数据。

接着我们尝试手动在NameNode中重新加载Hudi元数据,并重新启动Presto。但是,这个过程过程很慢且效果并不理想,仍然无法解决问题。

紧接着,我们尝试了另一种方法:我们手动停止了Presto,并清理了Presto缓存,然后重新启动Presto,并重新执行查询。这一次查询成功了,Presto可以正确的读取Hudi表中的数据。

解决方案

根据我们的经验,以下是一些关于Presto和Hudi的最佳实践:

  1. 注意Hudi元数据的准确性,确保其能够被正确的访问以支持外部查询。
  2. 定期清理Presto缓存。
  3. 如果您遇到了类似的问题,请尝试停止Presto并清理缓存,然后重新启动Presto。

## 结语

通过以上的排查过程,我们解决了在线上Presto查询Hudi表异常的问题。未来,我们将继续关注Presto和Hudi相关问题,并分享我们的经验和最佳实践。希望本文能够帮助到遇到类似问题的读者们。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:填坑!线上Presto查询Hudi表异常排查 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • 实现table的单线边框的办法

    实现table的单线边框的办法 在网站的开发过程中,我们经常需要使用表格table,以便在页面中展示结构化的信息。然而,默认情况下,table表格的边框是双线边框,这样会显得比较笨重,影响视觉效果,因此,通常情况下我们会需要使用单线边框的表格。那么下面就为大家介绍一下,如何来实现table的单线边框。 最基本的单线边框 首先,我们先介绍如何实现最基本的单线边…

    其他 2023年3月28日
    00
  • 获取URL文件名后缀

    获取URL文件名后缀(也称扩展名或文件类型)的方法有多种,下面我将为您提供常见的三种方式。 1. 使用URL的正则表达式获取文件后缀 我们可以通过使用正则表达式来提取URL中的文件后缀。具体来说,我们可以使用以下代码来获取URL末尾的字符串: import re url = ‘https://example.com/file.jpg’ match = re.…

    other 2023年6月27日
    00
  • android文字描边功能的实现

    Android文字描边功能的实现攻略 在Android应用中实现文字描边功能可以通过以下步骤完成: 步骤一:创建自定义TextView 首先,我们需要创建一个自定义的TextView类,以便能够在其中添加文字描边的功能。可以按照以下步骤创建自定义TextView: 创建一个新的Java类文件,命名为OutlineTextView。 让OutlineTextV…

    other 2023年9月6日
    00
  • python如何查询mysql

    以下是Python如何查询MySQL的完整攻略,包括MySQL连接、查询、结果处理等内容,过程中包含两个示例说明。 1. MySQL连接 在Python中,我们可以使用mysql-connector-python模块来连接MySQL数据库。以下是一个连接MySQL数据库的示例: import mysql.connector # 连接MySQL数据库 mydb…

    other 2023年5月10日
    00
  • 苹果13怎么看内存 苹果13储存空间在哪看

    苹果13内存和储存空间的查看攻略 苹果13是一款备受期待的智能手机,它具有强大的内存和储存空间。下面是详细的攻略,教你如何查看苹果13的内存和储存空间。 查看内存 苹果13的内存可以通过以下步骤进行查看: 打开设置:在主屏幕上找到并点击“设置”图标。 进入“通用”选项:在设置界面中,向下滚动并点击“通用”选项。 进入“关于本机”:在通用界面中,向下滚动并点击…

    other 2023年7月31日
    00
  • jenkins构建触发器

    Jenkins是一款流行的持续集成和持续交付工具,可以用于自动化构建、测试和部署软件。Jenkins提供了多种构建触发器,可以根据不同的条件触发构建。以下是Jenkins构建触发的完整攻略: 1. 定时触发器 Jenkins中的定时触发器可以根据时间表达式定期触发构建。可以在Jenkins的构建配置页面中设置定时触发器。时间表达式的格式为“分 时 日 月 周…

    other 2023年5月8日
    00
  • layer.alert自定义关闭回调事件的方法

    以下是关于“layer.alert自定义关闭回调事件的方法”的完整攻略,包括基本概念、步骤和两个示例说明。 基本概念 layer是一款基于jQuery的Web弹层件,可以用于实现各种弹层效果,例如提示框、询问框、加载层、页面层等。layer.alert是layer组件中的一种提示框,可以用于显示一些提示信息。layer.alert提供了一些回调函数,例如关闭…

    other 2023年5月7日
    00
  • mysql数据库实现设置字段长度

    下面是详细讲解mysql数据库实现设置字段长度的完整攻略。 1. 了解字段长度的概念 在MySQL中,字段长度指的是一个字段能够容纳的最大字符数或字节数。这个长度包含了该字段存储的所有字符、数字和字符集所需的附加信息。MySQL中不同类型的字段有不同的最大长度限制。比如,VARCHAR类型的字段长度最大为65535个字符,而INT类型的字段长度最大为11个字…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部