美文网首页
HIVE 获取所有分区表的表名 2024-01-11

HIVE 获取所有分区表的表名 2024-01-11

作者: 迷藏_ | 来源:发表于2024-01-10 10:05 被阅读0次

在迁移HDFS和hive的时候需要拿到所有分区表, 并执行MSCK REPAIR TABLE xxx

这个小脚本可以拿到所有表名

# 指定数据库名
database_name="your_database"

# 切换到指定数据库并获取所有表名
tables=$(hive -e "USE $database_name; SHOW TABLES;")

# 遍历每个表
for table in $tables; do
    # 检查表是否为分区表
    partitions=$(hive -e "SHOW PARTITIONS $table" 2>/dev/null)
    if [ -n "$partitions" ]; then
        echo "分区表: $table"
    fi
done

echo 语句可以改成MSCK REPAIR TABLE $table ;
复制结果就可以修复所有分区表

spark-shell 会比较快一点

import org.apache.spark.sql.SparkSession
import scala.util.Try

val spark = SparkSession.builder.appName("ListPartitionedTables").enableHiveSupport().getOrCreate()

// 指定数据库名
val databaseName = "your_database"

// 使用 SQL 来确定哪些表是分区表
def isPartitionedTable(tableName: String): Boolean = {
  Try(spark.sql(s"SHOW PARTITIONS $databaseName.$tableName").count() > 0).getOrElse(false)
}

// 获取数据库中的所有表
val tables = spark.catalog.listTables(databaseName).collect()

// 过滤出分区表
val partitionedTables = tables.filter(table => isPartitionedTable(table.name))

// 打印分区表名
partitionedTables.foreach(table => println(table.name))

相关文章

  • hive基础语法

    目录 Hive安装和启动 Hive表操作-分区表 Hive表操作-复杂类型操作 Hive 查询语句 Zepplin...

  • 案例详解__HIVE中内部表、外部表、分区表和分桶表

    目录一、Hive建表语法二、内部表外部表三、分区表四、分桶表 Hive在建表时可指定内部表、外部表、分区表和分桶表...

  • hive的严格模式和分区

    相比mysql,hive有严格模式存在,为了不错误扫描整个数据,hive的分区表会将数据分成几个分区。查询分区表中...

  • hive进阶学习

    创建hive表常用语句: 修改hive表名称: 内部表 vs 外部表: 创建分区表以及补充操作: hive中查询介...

  • create table tmp_table_name as .

    1.hive中用CTAS 创建表,所创建的表统一都是非分区表,不管源表是否是分区表。所以对于分区表的创建使用cre...

  • hive分区表

    hive分区表 1 为什么出现分区表? 假设有海量的数据保存在hdfs的某一个hive表明对应的目录下,使用hiv...

  • hive基本操作之一

    1.hive表中的基本数据类型 2,hive创建分区表 2.1内部表 建表语句: create table...

  • Flink 1.12 Hive分区时态表批流一体

    需求背景 我们生产常有将实时与Hive维表join来丰富数据的需求、Hive表是分区表、上周Flink 1.12发...

  • 坑合集

    Flume flume细节 Hive 数据倾斜Hive优化 Hive分区表新增字段为null的bug及解决方法 S...

  • Hive-分区&分桶

    分区 简介 为了避免Hive每次查询都扫描整个文件,除了采用索引的方式外,还可以通过建立分区表。分区表是指在创建表...

网友评论

      本文标题:HIVE 获取所有分区表的表名 2024-01-11

      本文链接:https://www.haomeiwen.com/subject/rkqzndtx.html