博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive lateral view 和 explode 详解
阅读量:5739 次
发布时间:2019-06-18

本文共 1001 字,大约阅读时间需要 3 分钟。

hot3.png

1. 建表语句结构 

create table if not exists employees ( name         string, salary       float, subordinates array
, deductions map
, address struct
) row format delimited fields terminated by '\001' collection items terminated by '\002' map keys terminated by '\003' lines terminated by '\n' stored as textfile;

2. 表里 name 和 subordinates 的数据结构

160930_oWIK_1411151.png

3. 使用 lateral view 和 explode 查询

select name,subordinate from employees lateral view explode(subordinates) subordinates_table as subordinate;

161117_3yDI_1411151.png

总结: explode就是将hive一行中复杂的 array 或者 map 结构拆分成多行。

下面就做个小例子, 创建 hive 表 doc, 表里只有一列 text 类型为 string, 将 hadoop 目录下的 README.txt 导入该表, 并写出 sql 求出 wordcount

create table if not exists doc(text string) row format delimited lines terminated by '\n';load data local inpath '/opt/hadoop-2.7.4/README.txt' overwrite into table doc;select word, count(*) from doc lateral view explode(split(text,' ')) ITable as word group by word;

 

转载于:https://my.oschina.net/zdtdtel/blog/1613715

你可能感兴趣的文章
Spring之旅第八站:Spring MVC Spittr舞台的搭建、基本的控制器、请求的输入、表单验证、测试(重点)...
查看>>
数据结构与算法——常用排序算法及其Java实现
查看>>
你所不知的Webpack-多种配置方法
查看>>
React.js 集成 Kotlin Spring Boot 开发 Web 应用实例详解
查看>>
webpack+typescript+threejs+vscode开发
查看>>
python读excel写入mysql小工具
查看>>
如何学习区块链
查看>>
搜索问题的办法
查看>>
微信分销系统商城营销5大重点
查看>>
求职准备 - 收藏集 - 掘金
查看>>
htm5新特性(转)
查看>>
Linux-Centos启动流程
查看>>
php 设计模式
查看>>
后端技术精选 - 收藏集 - 掘金
查看>>
Laravel 服务容器
查看>>
mac安装kubernetes并运行echoserver
查看>>
多页架构的前后端分离方案(webpack+express)
查看>>
算法(第4版) Chapter 1
查看>>
前端技术选型的遗憾和经验教训
查看>>
“亲切照料”下的领域驱动设计
查看>>