我不知道如何在 Hive 中实现它。请建议方法。
假设我有这样的蜂巢表
Table1:
id | primary | secondary
-------------------------
1 | A | [B,C]
2 | B | [A]
3 | C | [A,B]
Table2
id | primary | Heart | Liver | Kidney
-------------------------------------
1 | A | 1.3 | 0 | 0.9
2 | B | 0 | 3 | 2.3
3 | C | 0 | 9 | 4.3
Table3
id | medicine | primary
-----------------------
1 | M1 | A
2 | M2 | A
3 | M3 | B
4 | M4 | B
5 | M1 | B
现在从这些表中,如果 table2 中存在 table1 的主要值(例如 A)和次要值(例如:B),并且如果至少存在一个值大于零的组织(这里有肾脏),那么我有打印以下内容(示例输出)。
primary | direct | secondary | indirect | tissue_name
------------------------------------------------------
A | M1,M2 | B | M1,M3,M4 | kidney
B | M1,M3,M4| A | M1,M2 | kidney
C | None | B | M1,M3,M4 | Liver, Kidney
谁能帮助我如何在 Hive 中编写查询。
提前致谢。