开发者社区> 问答> 正文

SchemaStatVisitor 解析hive 多路输出表,部分列缺失表明。

FROM sale_detail INSERT OVERWRITE TABLE sale_detail_multi partition (sale_date='2010', region='china' ) SELECT shop_name, customer_id, total_price INSERT OVERWRITE TABLE sale_detail_multi partition (sale_date='2010', region='china' ) SELECT shop_name, customer_id, total_price;

输出列信息:[sale_detail_multi.sale_date, sale_detail_multi.region, UNKNOWN.shop_name, UNKNOWN.customer_id, UNKNOWN.total_price]

原提问者GitHub用户melin

展开
收起
山海行 2023-07-05 19:57:33 117 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    可能是由于SchemaStatVisitor没有正确解析Hive多路输出表中的列信息导致的。以下是一些可能的解决方法:

    确认SQL语句是否正确:请检查您的SQL语句是否正确,并且是否包含所有必要的信息。如果您的SQL语句存在语法错误或其他问题,可能会导致SchemaStatVisitor无法正确解析列信息。

    确认Hive版本是否支持:请确保您使用的Hive版本支持多路输出表功能。如果您的Hive版本不支持多路输出表功能,则可能会导致SchemaStatVisitor无法正确解析列信息。

    升级Druid版本:Druid是一个开源的Java数据库连接池和SQL解析库,最新的版本可能已经解决了您的问题。您可以尝试升级Druid的版本,并重新测试您的SQL语句。

    自定义SchemaStatVisitor:如果您无法通过升级Druid版本来解决问题,您可以尝试自定义SchemaStatVisitor来解析Hive多路输出表中的列信息。您可以扩展SchemaStatVisitor类,并覆盖visit方法来处理多路输出表的列信息。

    2023-07-30 14:37:24
    赞同 展开评论 打赏
  • 问题已修复,请用新版本 https://github.com/alibaba/druid/releases/tag/1.1.14

    原回答者GitHub用户wenshao

    2023-07-06 11:15:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Hive Bucketing in Apache Spark 立即下载
spark替代HIVE实现ETL作业 立即下载
2019大数据技术公开课第五季—Hive迁移到MaxCompute最佳实践 立即下载

相关镜像