首页 > 其他分享 >lateral view

lateral view

时间:2024-09-12 13:54:29浏览次数:4  
标签:Me Lie lateral movies view LATERAL ### VIEW

在 Hive 中,使用 `LATERAL VIEW` 可以实现行转列的操作,通常与 `explode` 函数结合使用。下面是一个示例,展示如何通过 `LATERAL VIEW` 将行转为列。

### 示例场景

假设我们有一个名为 `movies` 的表,包含影视作品及其类型,类型是以逗号分隔的字符串。

### 1. 创建基础表

首先,我们创建一个名为 `movies` 的基础表:

```sql
CREATE TABLE movies (
    title STRING,
    genres STRING
);
```

### 2. 插入数据

接下来,向 `movies` 表中插入一些示例数据:

```sql
INSERT INTO TABLE movies VALUES 
('《疑犯追踪》', '悬疑, 动作, 科幻, 剧情'),
('《Lie to Me》', '悬疑, 警匪, 动作, 心理, 剧情'),
('《战狼2》', '战争, 动作, 灾难');
```

### 3. 使用 `LATERAL VIEW` 进行行转列

现在,我们可以使用 `LATERAL VIEW` 和 `explode` 函数将 `genres` 列中的类型行转为列。以下是一个查询示例:

```sql
SELECT 
    title,
    genre
FROM 
    movies
LATERAL VIEW explode(split(genres, ', ')) exploded_genres AS genre;
```

### 4. 查询结果

执行上述查询后,结果将如下所示:

| title         | genre   |
|---------------|---------|
| 《疑犯追踪》  | 悬疑    |
| 《疑犯追踪》  | 动作    |
| 《疑犯追踪》  | 科幻    |
| 《疑犯追踪》  | 剧情    |
| 《Lie to Me》 | 悬疑    |
| 《Lie to Me》 | 警匪    |
| 《Lie to Me》 | 动作    |
| 《Lie to Me》 | 心理    |
| 《Lie to Me》 | 剧情    |
| 《战狼2》     | 战争    |
| 《战狼2》     | 动作    |
| 《战狼2》     | 灾难    |

### 总结

- 使用 `LATERAL VIEW` 和 `explode` 函数可以将以逗号分隔的字符串转为多行。
- 通过 `split` 函数将字符串分割为数组,然后使用 `explode` 将数组中的每个元素转为单独的行。

如果你有其他问题或需要更多示例,请告诉我!

 

标签:Me,Lie,lateral,movies,view,LATERAL,###,VIEW
From: https://www.cnblogs.com/mengbin0546/p/18410016

相关文章

  • 魔兽世界地心之战第一赛季开启,GameViewer远程助你随时随地手机玩魔兽世界
    “地心之战”第1赛季正式开启,本次11.0更新了地下堡玩法,地下堡是11.0新增的全新pve玩法,拥有海量奖励,想要获得奖励,每周的大小周常(1大4小)也非常重要,要给开地下堡丰裕宝箱的钥匙,地下堡解锁高层后,直接就能从丰裕宝箱开出603装备,低保给616装备(需要完成2次)。地下堡同时也是最适合孤......
  • SortableTableView:Android 表格视图库
    在Android应用开发中,提供用户交云和数据展示的功能是非常重要的。SortableTableView是一个开源的Android库,它提供了一个简单的TableView组件以及一个更高级的可排序TableView,允许开发者实现复杂的表格视图和数据排序功能。文章目录......
  • Cesium源码解读之Viewer(全网最全)
    今天我们来扒一扒cesium的源码,探寻一下底层的奥秘,我们平时工作中用的最多的应该就是varviewer=newCesium.Viewer('cesiumContainer');这句了但我们却很少去了解他底层是否如何实现的。首先我们可以通过Source/Cesium.js找到api的入口然后一步步往下走....这个是我理的......
  • 快速搭建最简单的前端项目vue+View UI Plus
    1引言‌‌Vue是一套用于构建Web前端界面的渐进式JavaScript框架。‌‌它以其易学易用、性能出色、灵活多变而深受开发者喜爱,并且与其他前端框架(如‌React和‌Angular)相比,在国内市场上受到了广泛的认可和使用。点击进入官方网站。ViewUIPlus是ViewDesign设计体系中......
  • VS2022 17.12.0 Preview2版本对Copilot的功能增强
    前提条件,使用最新版的17.12.0Preview2,并且有有效的CopilotAI订阅,那么可以体验这些新鲜好用的功能增强了CopilotAI对IEnumerableVisualizer的可编辑表达式功能我们可以通过AI实现一些复杂的条件筛查,并且可以即时验证结果是否符合预期,对于开发和调试提供了极大的便利性......
  • 一个简约的uniapp登录界面,基于uniapp+vue3+uview-plus
    uniapp-vue3-template一个简约的uniapp登录界面,基于uniapp+vue3+uview-plus页面主要包括:用户登录,手机验证码登录,用户注册,重置密码等页面登录进去后为空白模板源码在文末界面源码uniapp登录界面源码......
  • 【LabVIEW学习篇 - 24】:生产者/消费者设计模式
    文章目录生产者/消费者设计模式案例:控制LED等亮灭生产者/消费者设计模式生产者/消费者是多线程编程中最基本的一种模式,使用非常普遍。从软件角度看,生产者就是数据的提供方,而消费者就是数据的消费处理方,二者之间存在一个数据缓存区。在新建中可创建生产者/消费者......
  • [Embodied AI Tutorial] Overview of Embodied AI (Part1)
    OverviewofEmbodiedAI(Part1)课程主页:https://ai-workshops.github.io/building-and-working-in-environments-for-embodied-ai-cvpr-2022/slidesvideo讲师:ZhiweiJia课程内容Simulators使用仿真引擎主要考虑如下因素:Rendering:RGB/Depth/OpticalFlow/Segmentatio......
  • 第四章 视图(views)
    4.视图4.1文件or文件夹4.2相对和绝对导入urls注意实现:不要再项目根目录做相对导入。原则:绝对导入相对导入(层级深)4.3视图参数urlpatterns=[path('login/',account.login,name="login"),path('auth/',order.auth,name='auth'),]fromdjango.sho......
  • Goby 漏洞发布|(CVE-2024-45195)Apache OFBiz /viewdatafile 代码执行漏洞【已复现】
    漏洞名称:ApacheOFBiz/viewdatafile代码执行漏洞(CVE-2024-45195)EnglishName:ApacheOFBiz/viewdatafileCodeExecutionVulnerability(CVE-2024-45195)CVSScore: 8.0漏洞描述:ApacheOFBiz是一个开源企业资源规划(ERP)系统。它提供了一套企业应用程序,集成并自动化企业的......