前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Hive 编程专题 之 - 使用正则指定输出列

Hive 编程专题 之 - 使用正则指定输出列

作者头像
Lenis
发布于 2019-12-25 04:35:42
发布于 2019-12-25 04:35:42
1.2K00
代码可运行
举报
文章被收录于专栏:有关SQL有关SQL
运行总次数:0
代码可运行

环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Hive: 2.7.7
Oracle SQL Developer
Cloudera JDBC Driver

案例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select type,nameobject,`*date`
from tblobj2 
limit 10 ;

错误:

1 - 使用 Oracle SQL Developer 执行上述 HQL 语句报错:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Cloudera][HiveJDBCDriver](500051) ERROR processing query/statement. Error Code: 40000, SQL state: TStatus(statusCode:ERROR_STATUS, infoMessages:[*org.apache.hive.service.cli.HiveSQLException:Error while compiling statement: FAILED: SemanticException Line 1:23 Invalid column reference '`*date`': Dangling meta character '*' near index 0
*date
....(省却其他错误输出)
java.lang.Thread:run:Thread.java:745, *org.apache.hadoop.hive.ql.parse.SemanticException:Line 1:23 Invalid column reference '`*date`': Dangling meta character '*' near index 0
*date
....(省却其他错误输出)
sqlState:42000, errorCode:40000, errorMessage:Error while compiling statement: FAILED: SemanticException Line 1:23 Invalid column reference '`*date`': Dangling meta character '*' near index 0
*date
^), Query: select type,nameobject,`*date`
from tblobj2 
limit 10.

2 - 使用 Hive 同样 也报错:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hive> select nameobject,type,`*date` from tblobj2 limit 10 ;
FAILED: SemanticException [Error 10004]: Line 1:23 Invalid table alias or column reference '*date': (possible column names are: nameobject, object_id, principal_id, schema_id, parent_object_id, type, type_desc, create_date, modify_date, is_ms_shipped, is_published, is_schema_published)

解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
set hive.support.quoted.identifiers=none 
select type,nameobject, `.+date`
from tblobj2 
where create_date is not null 
limit 10
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
set hive.support.quoted.identifiers=none

quoted.identifier 这才是解决问题的关键。《Hive Programming》中居然也没有提到如何解决。

image

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 有关SQL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hive 编程入门 之 Join 的失效
为了保障整个集群的稳定性,类似非全等的 Join 是默认禁止的,原因在异常代码中给出了:
Lenis
2019/12/25
2.7K0
Hive 编程入门 之 Join 的失效
sqlserver查询数据的所有表名和行数及空间占用量
//查询所有表名 select name from sysobjects where xtype=’u’ –modify_date指表结构最后更新日期,并非数据最后更新日期 SELECT name, object_id, principal_id, schema_id, parent_object_id, type, type_desc, create_date, modify_date, is_ms_shipped, is_published, is_schema_published, lob_data_space_id, filestream_data_space_id, max_column_id_used, lock_on_bulk_load, uses_ansi_nulls, is_replicated, has_replication_filter, is_merge_published, is_sync_tran_subscribed, has_unchecked_assembly_data, text_in_row_limit, large_value_types_out_of_row FROM sys.tables ORDER BY modify_date DESC
全栈程序员站长
2022/07/09
1.5K0
Hive 编程专题之 - 表值函数
array, map, struct 都有自己的定义方法,而他们的调用方法基本都相同:
Lenis
2019/12/25
9000
Hive 编程专题之 - 表值函数
Hive 进阶应用 - 泛型函数
泛型函数 (Generic Function) 存在的意义,解决了运行时参数类型多变,而标准函数无法一一匹配的情况。以判断某变量是否为 Null 而赋予不同默认值为例。程序不可能做到对每种类型都做这样的判断,这样将需要重写很多方法,而泛型则很好解决了该问题
Lenis
2019/12/25
1.5K0
Hive 进阶应用 - 泛型函数
0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
受前段时间Oracle官宣的从2019年1月之后将不再提供免费的的JDK商业版本的影响,Cloudera开始开发基于OpenJDK的Hadoop平台,参考Fayson之前的文章《Java收费,Hadoop怎么办?》。今年11月29日,Cloudera才发布不久的CDH5.16.1正式提供OpenJDK的支持,参考Fayson之前的文章《0466-CDH5.16.1和CM5.16.1的新功能》和《0486-如何将Kerberos的CDH5.16.1从Oracle JDK 1.8迁移至OpenJDK 1.8》。同时12月19日发布的《0487-CDH6.1的新功能》和《0488-Cloudera Manager6.1的新功能》,也开始支持OpenJDK。本文Fayson主要介绍如何将CDH6.1从Oracle JDK迁移到OpenJDK。
Fayson
2019/11/28
1.1K0
Hive 编程专题之 - 自定义函数 Java 篇
内建函数针对不同的数据类型有分成很多种,字符函数,数值函数,日期函数,转换函数等;
Lenis
2019/12/25
9290
Hive 编程专题之 - 自定义函数 Java 篇
Hive SQL使用过程中的奇怪现象|避坑指南
hive是基于Hadoop的一个数据仓库工具,用来进行数据的ETL,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。Hive SQL是一种类SQL语言,与关系型数据库所支持的SQL语法存在微小的差异。本文对比MySQL和Hive所支持的SQL语法,发现相同的SQL语句在Hive和MySQL中输出结果的会有所不同。
数据社
2020/09/24
2.3K0
HiveServer2因JDBC版本引起的问题
之前一直都是用HDP来搭建和管理Hadoop环境,在安装完成调试时也未曾出现过棘手的问题,但这次在Centos6x系统上布署好后却是遇到奇怪的问题:
凡梦星尘
2024/11/20
1160
如何在CDH未启用认证的情况下安装及使用Sentry
CDH平台中的安全,认证(Kerberos/LDAP)是第一步,授权(Sentry)是第二步。如果要启用授权,必须先启用认证。但在CDH平台中给出了一种测试模式,即不启用认证而只启用Sentry授权。但强烈不建议在生产系统中这样使用,因为如果没有用户认证,授权没有任何意义形同虚设,用户可以随意使用任何超级用户登录HiveServer2或者Impala,并不会做密码校验。注:本文档仅适用于测试环境。
Fayson
2018/03/29
8.7K0
如何在CDH未启用认证的情况下安装及使用Sentry
Hadoop Hive sql语法详解
Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构
黄规速
2022/04/14
2.2K0
Hive数据仓库之权限管理
延续数据仓库之Hive快速入门 - 离线&实时数仓架构一文,本文将介绍一下Hadoop/Hive自带的权限控制,权限控制是大数据平台非常重要的一部分,关乎数据安全。
端碗吹水
2020/11/12
4K0
Hive Load本地数据文件异常分析
使用beeline登录HiveServer2向my_table表Load本地数据文件时报如下异常:
Fayson
2018/03/29
4.7K0
Hive 中的排序和开窗函数
排序操作是一个比较常见的操作,尤其是在数据分析的时候,我们往往需要对数据进行排序,hive 中和排序相关的有四个关键字,今天我们就看一下,它们都是什么作用。
大数据真好玩
2021/09/18
1.8K0
Hive 中的排序和开窗函数
Hive多分隔符支持示例
如何将上述事例数据加载到Hive表(multi_delimiter_test)中,表结构如下:
Fayson
2018/03/29
3.6K0
Hive多分隔符支持示例
0738-6.2.0-如何在Hive中使用多分隔符
而Fayson在以前的文章中也基于C5的环境介绍过如何在Hive中使用多分隔符,参考《Hive多分隔符支持示例》。本文主要介绍在CDH6中如何让Hive支持多分隔符。
Fayson
2020/02/10
1.3K0
0738-6.2.0-如何在Hive中使用多分隔符
Hive 表定义主键约束
在 Hive 中,可以使用 PRIMARY KEY 子句来定义主键约束,以确保表中的每行数据都具有唯一标识。主键约束要求表中的每个行都必须具有唯一的主键值,这可以通过在表中定义一个或多个列来实现。
恋喵大鲤鱼
2024/04/30
1.1K0
Hive 表定义主键约束
0695-5.10.2-如何将CM的外部PostgreSQL数据库迁移至MySQL服务
在前面的文章《如何将CM内嵌PostgreSQL服务迁移至外部PostgreSQL服务》介绍了将CM内嵌的PostgreSQL迁移至外部PostgreSQL,因为CM内嵌的PostgreSQL数据库不支持直接迁移至MySQL。本篇文章Fayson主要介绍如何将集群使用的外部PostgreSQL迁移至MySQL数据库。
Fayson
2019/09/03
1.6K0
0695-5.10.2-如何将CM的外部PostgreSQL数据库迁移至MySQL服务
Hive 各版本关键新特性(Key New Feature)介绍
开源世界里的代码受社区推动和极客文化的影响,变化一直都很快。这点在 hadoop 生态圈里表现尤为突出,不过这也与 hadoop 得到业界的广泛应用以及各种需求推动密不可分(近几年大数据、云计算被炒烂
用户1177713
2018/02/24
2.6K0
Hive 各版本关键新特性(Key New Feature)介绍
hadoop生态之hive
大数据的生态包含各种各样的组件,hive是其中之一,hive主要是作为数据仓库的工具,简化相关人员的代码工作,只要编写简单的SQL就可以实现mapreduce效果。
SRE运维实践
2021/03/04
6130
hadoop生态之hive
解决:Error while compiling statement: FAILED: SemanticException [Error 10007]: Ambiguous column refere
1.报错: Error while compiling statement: FAILED: SemanticException [Error 10007]: Ambiguous column reference creationtime in bcpt 2. sql如下: insert overwrite table z_w_clean.di_tets_e_type SELECT cont_pr_code, plurt_code, elec_e_code,
微风-- 轻许--
2020/04/30
7.7K0
相关推荐
Hive 编程入门 之 Join 的失效
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验