如何从蜂巢字符串数组中提取正则表达式[关闭]

问题描述 投票:0回答:1

在蜂巢中,我需要从字符串数组中提取字符串的值。

[[[印度新德里,ZH,],[美国华盛顿,DE,],[俄罗斯莫斯科,PT ,,],[印度尼西亚雅加达,PT ,,]]

在上面的示例中,提取EN值的正则表达式将是什么?

regex hive hiveql
1个回答
0
投票

您可以使用LATERAL VIEW爆炸阵列。检查下面的代码

lateralView: LATERAL VIEW udtf(expression) tableAlias AS columnAlias (',' columnAlias)*
fromClause: FROM baseTable (lateralView)*
SELECT country_name FROM (
    SELECT ARRAY(ARRAY("india new delhi", "EN"),ARRAY("america washington", "DE"),ARRAY("indonesia jakartha", "PT")) AS countries
) countries_tbl 
LATERAL VIEW EXPLODE(COUNTRIES) COUNTYTABLE AS COUNTRY_ARRAY
LATERAL VIEW EXPLODE(COUNTRY_ARRAY) NAMETABLE AS COUNTRY_NAME;

country_name
============
india new delhi
EN
america washington
DE
indonesia jakartha
PT
© www.soinside.com 2019 - 2024. All rights reserved.