hive - 在 Hive 中等效交叉应用?
问题描述
我想在 AWS EMR Hive 中创建交叉应用的效果。我这里有一些在 SQL Server 2017 中运行的示例代码。
with r as (
select 1 as d
union all
select 2 as d
)
select * from r
cross apply (select 'f' as u) e;
如何在 EMR Hive 中运行与此等效的操作?
我查看了横向视图文档,但所有引用都爆炸了,而且我没有数组。
解决方案
而不是CROSS APPLY
你可以CROSS JOIN
在你的情况下做。铁:
SET hive.strict.checks.cartesian.product = false;
WITH r AS (
SELECT 1 AS d
UNION ALL
SELECT 2 AS d
)
SELECT *
FROM r
CROSS JOIN (SELECT 'f' AS u) e;
推荐阅读
- javascript - 如何在我的 jquery 函数中使用动态变量名称
- batch-file - 将字符串值设置为变量
- templates - 错误!提供的额外变量数据无效。'@./vars.yaml' 无法制成字典
- css - CSS动画:悬停时应用svg旋转和变换:悬停时旋转角度重置
- git - jenkins 工作分支说明符中的 master 和 refs/heads/master 有什么区别
- c++ - C ++:在cout语句后返回意外数字的bool方法
- azure - Azure Blob SAS URL 403 问题
- sql - JOIN 中 ON 子句中的 Aggregare 函数
- javascript - 在 javascript 中编写数百万行 csv 的最佳方法
- ios - 具有自转换功能的 Swift 通用扩展