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

yizhihongxing

填坑!线上Presto查询Hudi表异常排查的完整攻略

Presto是一种分布式SQL查询引擎,可以查询多种数据源,包括Hudi表。但是,在线上查询Hudi表时,可能会遇到各种异常。本文将介绍如何排查在线上Presto查询Hudi表时遇到的异常。

1. 确认Hudi表是否存在

在查询Hudi表之前,需要确认Hudi表是否存在。可以使用Hudi提供的CLI工具来确认Hudi表是否存在。具体步骤如下:

  1. 登录到Hudi所在的节点。
  2. 进入Hudi表所在的目录。
  3. 执行以下命令,确认Hudi表是否存在。
$ java -jar hudi-cli.jar
hudi:> show tables

如果Hudi表不存在,则需要创建Hudi表。

2. 确认Presto是否可以连接到Hudi表

在查询Hudi表之前,需要确认Presto是否可以连接到Hudi表。可以使用Presto提供的CLI工具来确认Presto是否可以连接到Hudi表。具体步骤如下:

  1. 登录到Presto所在的节点。
  2. 进入Presto的安装目录。
  3. 执行以下命令,连接到Presto。
$ ./presto --server <presto-server>:<presto-port> --catalog <hudi-catalog> --schema <hudi-schema>

其中,

是Presto服务器的IP地址或主机名,是Presto服务器的端口号,是Hudi表所在的catalog,是Hudi表所在的schema。

如果连接成功,则可以查询Hudi表。

3. 示例1:查询Hudi表时遇到的异常

假设我们有一个Hudi表,其中包含了一些数据。我们使用Presto查询该表时,遇到了以下异常:

Query 20220101_000000_00000_00000_00000 failed: HIVE_CURSOR_ERROR: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.InvalidTableException: Table not found

这个异常表示Hive表不存在。我们需要确认Hive表是否存在,如果不存在,则需要创建Hive表。

4. 示例2:查询Hudi表时遇到的异常

假设我们有一个Hudi表,其中包含了一些数据。我们使用Presto查询该表时,遇到了以下异常:

Query 20220101_000000_00000_00000_00000 failed: HIVE_CURSOR_ERROR: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: org.apache.hadoop.hive.serde2.SerDeException: org.apache.hadoop.hive.serde2.avro.AvroSerDeException: Malformed data. Length is negative: -1

这个异常表示数据格式不正确。我们需要确认数据格式是否正确,如果不正确,则需要修复数据格式。

5. 总结

在线上Presto查询Hudi表时,可能会遇到各种异常。为了排查这些异常,需要确认Hudi表是否存在,确认Presto是否可以连接到Hudi表,以及确认数据格式是否正确。在实际使用中,可以根据异常信息来确定具体的排查步骤。

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

(0)
上一篇 2023年5月5日
下一篇 2023年5月5日

相关文章

  • Linux环境中使用Ext3文件系统

    下面是使用Ext3文件系统的完整攻略。 查看当前系统的分区情况 在Linux系统中,可以使用fdisk命令查看当前系统的分区情况。 例如,输入以下命令以查看磁盘情况: sudo fdisk -l 创建一个分区并格式化为Ext3文件系统 使用fdisk或其他磁盘管理工具创建一个新的分区。然后,使用以下命令将其格式化为Ext3文件系统: sudo mkfs.ex…

    other 2023年6月27日
    00
  • vue cli 3.0通用打包配置代码,不分一二级目录

    下面我将详细讲解“vue cli 3.0通用打包配置代码,不分一二级目录”的完整攻略。 一、简介 Vue CLI是一个基于Vue.js进行快速开发的完整系统,它包含了实现了项目脚手架、插件体系、可视化界面的一套构建工具。其中,Vue CLI 3.0是Vue CLI的更新版本,其对代码结构进行了调整。 在Vue CLI 3.0中,我们可以使用vue.confi…

    other 2023年6月27日
    00
  • 无线路由器最好多久重启一次及无线路由器怎么重启

    关于无线路由器重启问题,我可以提供如下完整攻略: 一、 为什么要重启无线路由器 在使用无线路由器一段时间后,由于种种原因(如缓存积累、配置问题等),可能会导致路由器运行出现异常,如WiFi不稳定,设置变更无效等问题。这时重启路由器可以有效缓解这些问题,恢复路由器正常运行状态,提高网络速度和稳定性。此外,定期重启还可以避免路由器长时间运行导致硬件受损。 二、多…

    other 2023年6月27日
    00
  • 基于ElementUI中Table嵌套实现多选的示例代码

    基于ElementUI中Table嵌套实现多选的示例代码攻略 1. 简介 在ElementUI中,Table组件提供了多种功能和选项,其中包括多选功能。通过嵌套Table组件,我们可以实现更复杂的多选功能,例如在一个表格中选择多个子表格。下面是一个基于ElementUI中Table嵌套实现多选的示例代码攻略。 2. 示例说明 示例1:基本的Table嵌套多选…

    other 2023年7月28日
    00
  • vue+element-ui集成随机验证码+用户名+密码的form表单验证功能

    下面是关于如何实现“vue+element-ui集成随机验证码+用户名+密码的form表单验证功能”的完整攻略。 确定所需组件 首先我们需要引入vue和element-ui组件库,以及一个用于生成随机验证码的插件,常用的有vue-verify-plugin等。 <template> <div class="form-contain…

    other 2023年6月27日
    00
  • .net数据库操作框架SqlSugar的简单入门

    .NET数据库操作框架SqlSugar的简单入门攻略 SqlSugar是一个强大的.NET数据库操作框架,提供了简单易用的API来进行数据库的增删改查操作。以下是SqlSugar的简单入门攻略,包含两个示例说明: 步骤1:安装SqlSugar 首先,您需要在您的.NET项目中安装SqlSugar。可以通过NuGet包管理器或者在Visual Studio中使…

    other 2023年10月18日
    00
  • ubuntu中ipconfig命令找不到

    以下是“ubuntu中ipconfig命令找不到”的完整攻略: ubuntu中ipconfig命令找不到 在Ubuntu中,ipconfig命令是Windows中的命令,用于显示网络配置。在Ubuntu中,我们需要使用ifconfig命令来显示网络配置信息。以下是解决ipconfig命令找不到的步骤: 1. 使用ifconfig命令 在Ubuntu中,我们可…

    other 2023年5月7日
    00
  • html-定位:after伪元素

    HTML定位:after伪元素的完整攻略 在HTML中,我们可以使用:after伪元素来为元素添加额外的内容,并使用定位属性来控制其位置。本文将介绍如何使用:after伪元素进行定位,并提供两个示例说明。 骤1:创建HTML元素 首先,我们需要创建一个HTML元素,以便为其添加:after伪元素。可以按照以下步骤创建元: <div class=&quo…

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