gpt4 book ai didi

hadoop - 本地目录中的配置单元表列表

转载 作者:可可西里 更新时间:2023-11-01 16:43:11 25 4
gpt4 key购买 nike

我有一个本地目录,它用于存储配置单元表数据。

我需要列出所有使用本地目录的表。

这些表(托管表)存储在配置单元默认数据库中,该数据库允许将数据存储在其他本地目录中。

我的本​​地目录:/abc/efg/data/

表格数据存储在 123 、 456,789 等子文件夹中

对于 table xyz 位置是/abc/efg/data/123 ,PQR 位置是/abc/efg/data/456 这样。

我正在尝试使用

hive -e "show tables "> All_tables 列出所有表并重定向到一个文件

对于 All_tables 中的每一行(每个表)

hive -e "desc 格式化 $line"| grep '/abc/efg/data/' >> Tables_My_local_dir

但它会导致一些性能问题,因为我在数据库中有 6000 个表。

请帮我列出所有使用本地目录且性能最佳的表。

最佳答案

我假设您希望通过从默认数据库中托管表的 desc 格式化 命令中提取表来列出表及其相应的位置信息。

如果我的理解是正确的,我建议你去查询 Hive 元存储,前提是它是一个外部配置的存储,并且你有必要的权限来获取相同的信息

查询元存储:

SELECT T.TBL_NAME AS TABLE_NAME,S.LOCATION AS LOCATION FROM TBLS T LEFT JOIN SDS S ON T.SD_ID=S.SD_ID WHERE T.TBL_TYPE='MANAGED_TABLE' AND T.DB_ID=1 ;

注意:在查询中,默认数据库的DB_ID为1

输出:

------------+------------------------------------------------------------+
| TABLE_NAME | LOCATION |
+------------+------------------------------------------------------------+
| sample | hdfs://********:8020/user/hive/warehouse/sample |
...

.

关于hadoop - 本地目录中的配置单元表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38820991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com