我需要在数组中按列离开外连接2表。
表一模型:
表二模型:
我想要的结果是格式:
id,ip,hostname(如果存在)
需要匹配第一个表中具有第二个表中相应ip的数组中的所有IP。
我不确定如何开始,欢迎任何想法或参考。
答案 0 :(得分:1)
您可以使用第二个表上的explode选项,然后执行如下的连接。
假设您有一个包含字符串名称数组的table_1,而表2具有名称
CREATE TABLE table_1(id string,ips array); CREATE TABLE table_2(ip string,hostname int);
然后你可以使用explode udf在table_1上创建一个侧视图。
从table_1选择id,ip,LATERAL VIEW explode(ips)ep AS ip;
这将为数组中的每个值将单行分解为多行。请阅读Array#map
以获取更多帮助。
最终的连接查询将是这样的。
<color name="ambar400">#FFCA28</color>