Hive SQL语法报错 及相应解决方法

2023-11-02

Hive SQL语法与经常用的mysql语法具有一定差异性,按照写mysql的习惯写出的sql经常报错,且报错很难看出问题原因,因此在此记录出现问题的现象和解决方式

  • Error: Error while compiling statement: FAILED: ParseException line 3:2 cannot recognize input near '(' 'SELECT' 'a' in joinSource (state=42000,code=40000)
    原因:如果你发现你的sql没有任何问题,此时一般是因为子查询没有别名造成的
    解决:select * from (select * from a)   更改成 select * from (select * from a) t
  • Error: Error while compiling statement: FAILED: SemanticException [Error 10025]: Expression not in GROUP BY key id (state=42000,code=10025)
    原因:在select语句中而不在group by 语句中的字段会导致该报错
    解决: select id,name from a group by name 更改成 select collect_set(id),name from a group by name
  • Error: Error while compiling statement: FAILED: SemanticException [Error 10004]: Line 1:13 Invalid table alias or column reference 'id':
    原因:子查询语句中对应字段有变化,如使用了函数或重命名了
    解决:select id,name from (select collect_set(id),name from a group by name ) t  更改成 select id,name from (select collect_set(id) id,name from a group by name) t 或 select t.id,name from (select collect_set(id),name from a group by name) t
  • 问题:HIVE 多个Sql Union后的查询不到数据
    原因:Union后的数据在hdfs上存到表目录下的多个新建目录下
    解决:增加配置(可以直接在cli 命令行输入) set mapred.input.dir.recursive=true;
               或者使用一个Select语句把多个Union语句包起来
  • 再TEZ上执行hsql报错Out of memory
    需要调整container大小
    set hive.tez.container.size=4096;
    set hive.tez.java.opts=-Xmx3072m;

  • Hive默认不递归查询子目录所以在创建表时,如果指定目录下有子目录会报ERROR:not a file
    可以通过在hive-cli里面执行下面四条配置来在回话里面开启递归访问子目录,不会递归查询会把所有目录下面的数据加载进来,所以在子目录特别深或者子目录特别多时,速度会特别慢。
    set hive.input.dir.recursive=true; 
    set hive.mapred.supports.subdirectories=true; 
    set hive.supports.subdirectories=true; 
    set mapred.input.dir.recursive=true;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive SQL语法报错 及相应解决方法 的相关文章

  • 如何插入显式值和从另一个表检索的数据的混合

    我知道两种将数据插入表的方法 方法1 显式值 INSERT INTO table field1 field2 field3 VALUES value1 value2 value3 方法2 从另一个表复制数据 INSERT INTO tabl
  • ORA-01722-无效号码

    我在包中有一个查询抛出错误 ORA 01722 无效号码 我尝试了很多方法但没有运气 select h column from table1 h table2 c where c created date 17 MAY 17 and nvl
  • 通过 SqlConnection/SqlCeConnection 连接到 .sdf 数据库时出现问题

    我在连接到 sdf sql 紧凑版 数据库时遇到了巨大的麻烦 我可以最初连接以提取行以验证用户名 密码 但是当我尝试通过 SqlCeConnection SqlCeCommand 命令或尝试添加项目 SqlClient SqlCommand
  • 实体框架可以在本地工作,但不能在 azure 上工作

    我有一个在本地完美运行的网络项目 但是 当我更改 Azure 上发布的网站中的连接字符串以连接到 SQL Azure 上的数据库时 它将开始出现此错误 System Data Entity Infrastructure Unintentio
  • 如何列出引用 SQL Server 中给定表的所有外键?

    我需要删除 SQL Server 数据库中高度引用的表 如何获取删除表时需要删除的所有外键约束的列表 SQL 答案比在 Management Studio 的 GUI 中单击有关更好 不知道为什么没有人建议但我使用sp fkeys查询给定表
  • mysql JOIN,这是如何解释的?

    如果我为 mysql 编写一条 sql 查询 并且只指定 JOIN 没有外连接 内连接 左连接等 那么默认的连接类型是什么 例如 SELECT count FROM Students p JOIN 班级 c ON p studentId c
  • 如何从函数依赖中获取最小密钥?

    我需要一些帮助和指导 我有以下关系 R A B C D E F 以及函数依赖集 F AB gt C A gt D D gt AE E gt F R 的主键是什么 如果我应用推理规则 我会得到这些额外的函数依赖项 D gt A D gt E
  • 在源代码管理中维护存储过程

    你们如何维护存储过程 由于一些不同的原因 我想保留它们的版本 本周末我还将设置 Cruisecontrol net 和 nant 来自动化构建 我正在考虑编写一些代码 为我的开发数据库中的所有表 sprocs udf xml 模式生成创建脚
  • 带汇总总计和小计

    我有一个脚本可以生成几乎已经存在的结果集 我正在尝试获取小计和总计 我在年份栏中得到了小计 在最后得到了总计 我的目标是让最终结果显示 总计 而不是小计 请注意 由于汇总函数 我的最后一行 位置 也返回为空 SELECT YEAR COUN
  • Sql Server 2005 将列名放在方括号中

    我最近将数据库从 Sql Server 2000 迁移到 Sql Server 2005 在表设计器中 它坚持将方括号放在名为 Content 的列周围 我在 Sql Server 的保留字列表中没有看到 Content 所以我不明白它为什
  • 如何在sql server中获取从当前日期时间到过去7天的过去7天的数据

    您好 我正在使用 pentaho 将表 A 数据从 sql server 加载到 mysql 加载数据时 我只需要从 sql server A 表获取最近 7 天的数据到 mysql 在sql server中createddate列数据类型
  • MySQL Select 查询 - 仅获取值的前 10 个字符

    好的 这就是问题所在 我有一个包含一些列的表 主题 是其中一列 无论 主题 字段包含一个包含 100 个字母的字符串 我都需要从 主题 字段获取前 10 个字母 例如 Table tbl 列 id subject value SQL查询 S
  • 将一个巨大的字符串参数传递给存储过程

    我有一个存储过程 它有两个参数 ID 和日期 当我将大文本传递给 ID 参数时 仅考虑部分文本 就好像文本在某个地方被剪切一样 我想这是因为当我执行存储过程时如下 exec proc 1 2 3 4 20100101 一切正常 但是当我使用
  • ALL 的 SQL 参数

    我想知道SQL中是否有一个参数适用于所有 不是 例如 我现在正在编写一个搜索表 如果用户不在文本框中输入某些内容 则意味着忽略该特定参数并显示该字段的所有内容 我知道您可以为每种情况创建单独的 OLEDB 或 SQL 命令 并且它会起作用
  • 如何使用 ODBC 检查数据库是否存在

    各位程序员大家好 我已经在互联网上搜索了几天 但找不到仅使用 ODBC 和 SQL 解决此问题的通用方法 有没有办法查看数据库是否已经存在 仅使用ODBC 它必须是标准 SQL 因为用户可以选择自己选择的 DSN 即他自己的 SQL Ser
  • Hive中group by后是否可以连接字符串字段

    我正在评估 Hive 需要在 group by 之后进行一些字符串字段连接 我找到了一个名为 concat ws 的函数 但看起来我必须显式列出所有要连接的值 我想知道是否可以在 Hive 中使用 concat ws 做这样的事情 这是一个
  • 比较字符串结尾的最佳方法是使用 RIGHT、LIKE 还是其他?

    我需要将字符串的结尾与存储过程中可能的结尾列表进行比较 会被叫很多 大概有10 15个候选结局 此时 仅使用代码的解决方案比创建专用于此的表更好 类似的东西 IF ENDSWITH var foo OR ENDSWITH var bar O
  • 在没有条件的情况下,如何使查询不返回任何内容?

    相当简单 我有一对多 多对一关系 我想查询它 但是 当未提供任何 WHERE 子句信息时 我不希望返回任何结果 简单来说 如何使查询变得非贪婪 您可以添加一个始终为 false 的 where 子句 并附加您想要用 OR 提供的条件 sel
  • GUID 是否及时订购?如果 ORDER BY 与 GUID 变量类型一起使用,最近创建的记录会晚吗?

    GUID 是否及时订购 我的意思是 如果您将 ORDER BY 与 GUID 变量类型一起使用 最近创建的记录会晚吗 在 Windows 上 GUID UUID 是使用 UuidCreate 从加密随机数生成器创建的 根据 RFC 4122
  • 将列从日期转换为日期时间

    我有一个名为Lastmodified 数据类型为Date 但本来应该是DateTime 有没有办法转换列 当我使用 SQL Server Management Studio 的 设计 功能时 出现以下错误 不允许保存更改 您所做的更改需要以

随机推荐

  • 在vue项目中 , 将字符串转数组 split()

    console log this cityItem fullName console log this cityItem fullName split 在vue项目中 遇到一个常用的方法split 因为常用 又容易记混 所以在此记录 spl
  • 推荐几个好用的代码工具

    SourceTree git 管理工具 postman 接口调试工具 FinalShell shell 链接工具
  • Salient Obejct Detection(SOD)综述

    论文链接 https arxiv org abs 2008 00230 仓库链接 https github com taozh2017 RGBD SODsurvey 介绍 显著目标检测 Salient Obejct Detection 是模
  • 微服务架构下认证和鉴权理解

    认证和鉴权 从单体应用到微服务架构 优势很多 但是并不是代表着就没有一点缺点了 微服务架构 意味着每个服务都是松散耦合的 因此 作为软件工程师和架构师 我们在分布式架构中面临着安全挑战 微服务对外开放的端点 我们称之为 API 单体应用只需
  • leetcode-62不同路径

    题目 一个机器人位于一个 m x n 网格的左上角 起始点在下图中标记为 Start 机器人每次只能向下或者向右移动一步 机器人试图达到网格的右下角 在下图中标记为 Finish 问总共有多少条不同的路径 示例 输入 m 3 n 2 输出
  • 缩减Docker镜像大小的方法

    对于刚接触容器的人来说 他们很容易被自己构建的 Docker 镜像体积吓到 我只需要一个几 MB 的可执行文件而已 为何镜像的体积会达到 1 GB 以上 本文将会介绍几个奇技淫巧来帮助你精简镜像 同时又不牺牲开发人员和运维人员的操作便利性
  • python的知识点关键词_Python基础知识的集合,知识点,合集

    概念 Python有什么优势 解释性语言 语法简单易懂 可读性强 自动内存管理 基于引用计数法等可以对垃圾进行自动回收 内存池机制 提前申请好小内存 内存分配效率更高 让程序员可以更加专注代码的实现 有很多库可以调用 站在巨人的肩膀上简单的
  • 软件工程导论06-面向数据结构的分析与设计

    面向数据结构的分析与设计 典型方法 Jackon方法 Warnier方法 主要特点 以信息对象及其操作作为核心进行需求分析 认为复合信息对象具有层次结构 并且可按顺序 选择 重复三种结构分解为成员信息对象 提供由层次信息结构映射为程序结构的
  • 在Linux中使用shell指令完成文件打包、压缩、解压缩

    一 写一个1 sh脚本 将以下内容放到脚本中 在家目录下创建目录文件dir 在dir下创建dir1和dir2 把当前目录下的所有文件拷贝到dir1中 把当前目录下的所有脚本文件拷贝到dir2中把dir2打包并压缩为dir2 tar xz 再
  • 为什么ViewGroup的onDraw()方法不执行

    问题 ViewGroup onDraw不执行的原因 怎么让ViewGroup onDraw执行 android代码一直在优化 我看了几个版本的源码 目前 我用的是API30的源码 再去看ViewGroup为什么不走onDraw 的时候 已经
  • 移动端和PC端有什么区别

    1 PC考虑的是浏览器的兼容性 而移动端开发考虑的更多的是手机兼容性 因为目前不管是android手机还是ios手机 一般浏览器使用的都是webkit内核 所以说做移动端开发 更多考虑的应该是手机分辨率的适配 和不同操作系统的略微差异化 2
  • Http 与 Socket 区别

    HTTP 超文本传输协议 首先它是一个协议 并且是基于TCP IP协议基础之上的应用层协议 TCP IP协议是传输层协议 主要解决数据如何在网络中传输 HTTP是应用层协议 主要解决如何包装数据 HTTP协议详细规定了浏览器与服务器之间相互
  • 腾讯QQ Web Service 接口

    导读 腾讯QQ在线状态 WEB 服务 Endpoint http www webxml com cn webservices qqOnlineWebService asmx Disco http www webxml com cn webs
  • 在家就可以做的三个冷门副业,时间自由,零基础也可轻松上手

    大多数人感到困惑的原因本质上是他们没有计划和设定自己的职业目标 从现在开始保持自律 学会认真完成每一件小事 一步一步地完成它 你可以一起解决你的困惑 今天和大家分享 蝶衣王 VIP栏目发布的三个小项目可以在家里做 一 抄书 简单到有手 就是
  • java学习笔记(面试必备)

    1 java的四大特性 抽象 继承 封装 多态 抽象的概念 这里我先补充一下对象的概念 在java中世界万物皆对象 对象就是客观存在的事物 比如一个人 一支笔 而抽象就是将对象的某些细节和特征抽取出来 用程序代码表示 抽取出来的东西一般我们
  • 【计算机网络】因特网的组成

    从因特网的工作方式上看 可以划分为两大部分 1 边缘部分 由所有连接在因特网上的主机组成 这部分是用户直接使用的 用来进行通信 传送数据 音频或视频 和资源共享 2 核心部分 由大量网络和连接这些网络的路由器组成 这部分是为边缘部分提供服务
  • MySQL left join 和 left outer join 区别

    先说结论 left join 和 left outer join 的结果是一致的 我不知道各位大神是怎么测试的 网上面就说两个不一样 我A B表都是有重复数据的 为啥结果是一样的 表A 表B 左连接 SELECT ta tb Result
  • c++之 vector 容器

    1 vector存放内置数据类型 特点 是一种单端数组 可以动态扩展 动态扩展 不是在原有空间后边续接新的空间 而是寻找更大的内存 将原数据拷贝到新的空间 然后释放原空间 include
  • 利用git 将本地项目上传到github上

    利用git 将本地项目上传到github上 在github上创建仓库后 也链接了ssh 在本地项目的文件夹下git bash here然后 git init 项目初始化 git add 将项目加入本地暂存区 git commit m 项目注
  • Hive SQL语法报错 及相应解决方法

    Hive SQL语法与经常用的mysql语法具有一定差异性 按照写mysql的习惯写出的sql经常报错 且报错很难看出问题原因 因此在此记录出现问题的现象和解决方式 Error Error while compiling statement