我有一个hive表列表,想要选择最后一个表来执行某些查询。 这是我用来获取类似的hive表的列表。
show tables 'test_temp_table*';
显示以下结果
test_temp_table_1
test_temp_table_2
test_temp_table_3
test_temp_table_4
test_temp_table_5
test_temp_table_6
我需要在test_temp_table_6上运行一些查询。我可以使用shell脚本通过将输出写入临时文件并从中读取最后一个值来执行此操作但是有一种简单的方法使用配置单元查询来获取最后一个具有最大数字的表吗?
答案 0 :(得分:2)
使用shell:
last_table=$(hive -e "show tables 'test_temp_table*';" | sort -r | head -n1)
答案 1 :(得分:0)
您实际上可以根据表名运行Hive Metastore上的“选择查询”(然后使用ORDER BY DESC和LIMIT 1使用常规sql排序),而不是使用“SHOW TABLES”,遵循此处提到的方法:{ {3}}