hive中explode报错UDTF‘s are not supported outside the SELECT clause, nor nested in expressions_udtf's are not supported outside the select clause-程序员宅基地

技术标签: hive  sql  

hive中使用explode 查询多列时候报错

hue中报错信息:

Error while compiling statement: FAILED: SemanticException [Error 10081]: UDTF's are not supported outside the SELECT clause, nor nested in expressions

原因:
UDTF只能查询一个一段
也可报错

SemanticException 1:40 Only a single expression in the SELECT clause is supported with UDTF's. Error encountered near token

解决办法: 配合 LATERAL VIEW 函数使用

select 
a.content_id -- 文章id 
,content_classify_id2 -- 兴趣值 
from
 content_characteristic a 
LATERAL VIEW EXPLODE(split(a.content_classify_id,'-') )content_classify_id as content_classify_id2 -- 兴趣值
where a.dt = '${dt}'

实际上是将’content_characteristic’ 和 ‘LATERAL VIEW EXPLODE(split(a.content_classify_id,’-’) )'笛卡尔积

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45744450/article/details/111563191

智能推荐

FAT32文件_fat32返回值-程序员宅基地

文章浏览阅读1.1k次。/*---------------------------------------------- * 模 块 名:文件系统 * 功能描述:读写基于FAT32格式的数据 * 调试平台:UMP3 * * 当前版本:1.0 * 作 者:xx * 完成日期:2010-6-28 * 存在BUG:未知 * 调试结果:完成调试 * * 说 明:本文件系统_fat32返回值

Python初学者笔记(3):输出列表中的奇数/奇数项,字符串中的偶数项,字符串大小写转换...-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏12次。【1】a=[8,13,11,6,26,19,24]1)请输出列表a中的奇数项2)请输出列表a中的奇数解:1)1 a=[8,13,11,6,26,19,24]2 print a[::2]Result:>>>[8, 11, 26, 24]2)1 a = [8,13,11,6,26,19,24]2 b = []3 for it..._用for语句筛选出自然数序列中的奇数与偶数,分别存入奇数列表ls1 与 偶数列表ls2,分两行打印输出

Python安装包下载、环境配置与工具包安装教程(详细版)_pystdf安装包-程序员宅基地

文章浏览阅读7k次,点赞11次,收藏62次。一、安装包下载网盘:链接:https://pan.baidu.com/s/1FrFj8Flcwr_ZJH91OxoF5A 提取码:2442二、环境配置1、下载完解压后双击 python-3.8.0a4-amd64.exe,注意:一定勾选Add Python 3.8 to PATH, 会自动配置环境变量 2、在cmd中输入python 验证是否安装成功三、工具包下载1、安装pip,首先进入cmd命令是:pip install pip查看是否安装成功命令: == pip show pi_pystdf安装包

从.NET平台调用Win32 API_.net 调用win32的程序需要安装到本地才能使用吗-程序员宅基地

文章浏览阅读503次。作者:刘铁猛日期:2005-12-20关键字:C# .NET Win32 API版权声明:本文章受知识产权法保护,如果阁下想转载,在转载的时候烦劳阁下连同在下的姓名一起转载,并向[email protected]发一个Mail,我很想知道我的文章都去哪里了.谢谢.小序 Win32 API可以直接控制Microsoft Windows的核心,因为API(Applicati_.net 调用win32的程序需要安装到本地才能使用吗

ssh框架发布json数据提供客户端开发_ssh提供向其他系统发送数据的接口-程序员宅基地

文章浏览阅读1.6k次,点赞3次,收藏2次。作为一个客户端开发人员,每次让服务端人员写数据接口的的时候,感觉就像是在求他们一样,与其求别人,还不如自己会搞,android与服务端通行,最常见的就是json了,以前用webservice,感觉还可以,总之,多一种通行方式多一套方法,多一个机会吧!大三了,感觉心里惶惶的,但是还是得学习呀。 先看看效果吧 注意:*浏览器的参数名称必须要和action里面的接收的名称一样,要不然接收不到参数*_ssh提供向其他系统发送数据的接口

Python---生成器_python转换器-程序员宅基地

文章浏览阅读254次。生成器是什么?用来干什么:生成器是生成一个算法,生成一组有规律的数。用途见后期更新生成器的两种生成方式:(1)修改列表生成式生成简单的生成器(2)在实现一个算法推算的函数中加入yield语句生成复杂的生成器。那么什么是列表生成式呢:a=[]for i in range(20): a.append(i*i)print(a)这两种形式可以生成一个list,..._python转换器

随便推点

centos7安装oracle18c、12c和11gR2_oracle 18c 安装包-程序员宅基地

文章浏览阅读2.4k次。摘要oracle12c安装步骤和18c一样,下面安装的是18c,12c可以作为参考;另外,除了最终执行runInstaller 安装内容外,安装之前的内容基本的都是安装oracle必须的操作,本人用此步骤成功安装18c和11gR2,两者区别仅是最终安装执行runInstaller 命令稍微不同,以及配置文件不同。安装软件及环境 Oracle 静默安装包 LINUX.X64_18000......_oracle 18c 安装包

php 删除字符串里指定字符,php删除字符串中指定字符_php删除字符串-程序员宅基地

文章浏览阅读1.4k次。在做项目时需要对一个字符串进行处理,也就是删除指定的字符,吾爱编程通过这篇文章主要介绍了PHP实现删除字符串中任何字符的函数,涉及php针对字符串的遍历与截取操作技巧,需要的朋友可以参考一下:PHP实现删除字符串中任何字符的函数function delStr($start, $end, $orgenStr){//读取要删除字符位置的前一部分字符串,并赋值给$temp//strpos读取字符第一次出..._php删除指定字符串

准备全面进行了-程序员宅基地

文章浏览阅读209次。根据这两个月的试用期,带我的那哥们告诉我应该转正没问题。另外,转了UE4后,发现找的猎头和HR很多,看来,也要好好重视了。不能只把UE4当UI使用了。当然,由于刚转,薪水也就都是20k起步,不如现在25K,这几年没有任何跳槽的必要。一,UE4学习上:我认为,UE4学习分为4个层次,第一层次:SLATE+业务。slate,这个不是问题。主要是业务上,多看看视频教程,也就OK。工作要求也就是停留在第一层次上。但是不能两个月的经验当三年用,那样肯定会被年轻人替代,淘汰是必然结果。第二层次:文档_准备全面

最大流-FoldFulkerson算法_fold-fulkerson算法-程序员宅基地

文章浏览阅读2.9k次。问题来源:hdu-1532问题描述:约翰是个农民,每次下雨的时候他的庄家总是会被淹没,这就意味着当庄家被水淹后需要很长时间才能重新生长出来,因此,约翰已经建立了一系列排水管道为了使他的庄家尽可能被淹没的最少,也就是说管道的排水量必须很大.作为一名工程师,约翰可以计算出管道网能排水的最大能力.Input:输入包含多组用例,每组用例第一行是两个数N,M,N表示一共有N个管道,M表示一共有M个点_fold-fulkerson算法

理解iOS Event Handling-程序员宅基地

文章浏览阅读74次。写在前面最近的一个iOS App项目中遇到了这么问题:通过App访问服务器的大多数资源不需要登录,但是访问某些资源是需要用户提供验证的,一般来说,通常App的做法(譬如美团App)将这些资源放在“我的”模块,在未登录情况下,当点击“我的”某个模块时,以modally给出一个界面用于登录,我不晓得美团是怎么实现的;但在我看来,比较优雅的方式是在网络底层实现“modally呈现登录界面”..._ios event handling

MVC浅析(实际上应该是MVP,有时间再更新该博客)-程序员宅基地

文章浏览阅读344次。以Android中登录过程为例简单说明,其他应用场景同理。 定义接口: Model层:IModelLogin.javapublic interface IModelLogin { /** * 开始登录请求 * @param username * @param password */ abstract void iStartLogin(Stri