【问题标题】:How to write a query to find all tables in HIVE db that have a specific column name如何编写查询以查找 HIVE db 中具有特定列名的所有表
【发布时间】:2018-01-22 01:05:38
【问题描述】:

我有一个包含大约 100 个表的数据库,我需要构建一个连接查询以从其中两个表中获取特定数据。我知道一个,但不知道另一个。基本上我需要类似的东西:

select <tables> from <HIVE_database> where exists table.column name;

我该怎么做?

【问题讨论】:

    标签: hadoop hive hiveql


    【解决方案1】:

    您可以编写一个 shell 脚本来搜索所有表中的列。

    第一行给出了所有的表名。它被传递给读取命令 并在每个表的 describe 输出中搜索列名。

    $hive -e 'show tables in <HIVE_database>'  | \
    while read line
    do
     echo "TABLE NAME : $line"
      eval "hive -e 'describe <HIVE_database>.$line'" | grep "<column_name>" 
    done 
    

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      相关资源
      最近更新 更多