hadoop - 在 hive 中加入一张 table 两次

标签 hadoop hive hiveql apache-hive

我不知道如何在Hive中实现它。请提出建议。

假设我有这样的 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)和次要值(例如ex: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中编写查询。

提前致谢。

最佳答案

将Table2转换为以下格式:

Table2
id | primary | Tissues
-------------------------------------   
1  | A       | Heart, Kidney
2  | B       | Liver, Kidney
3  | C       | Liver, Kidney

将Table3转换为以下格式:
Table3
id | primary | drug_list
-------------------------
1  | A       | M1,M2
2  | B       | M1,M3,M4

从表1,我创建了两个表
  • 在主列上将Table1与转换后的Table2和转换后的Table3连接起来。
  • 在辅助列上分解Table1,并在分解后的辅助列上将结果表与转换后的Table2和转换后的Table3连接起来。

  • 合并以上两个表,并根据常见的组织值查找结果。

    关于hadoop - 在 hive 中加入一张 table 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36491763/

    相关文章:

    hadoop - 执行 Hive 查询时获取权限被拒绝错误

    hadoop - 如何将序列文件转换为拼花格式

    hadoop - java.lang.RuntimeException : org. apache.hadoop.hive.ql.metadata.HiveException : org. apache.hadoop.ipc.RemoteException : java. io.IOException:

    hadoop - 如何通过hdfs导入/导出hbase数据(hadoop命令)

    apache-spark - Spark 根据字母分区写入 Parquet

    sql - 配置单元-展开数组列并使用带有选择语句错误的LEFT联接或子查询

    hadoop - 向 Hive 中的表添加固定值列

    mysql - 在 Hive 中使用 case 语句填充前面的值

    arrays - 如何对配置单元中的 concat_ws (';' ,collect_set(name)) 结果进行排序?

    java - 使用Hadoop/HDFS进行100万个生物特征(小型)文件比较