我想一次获取数据库中所有表的count(*),以及databricks sql中的“table\u name”

1bqhqjot  于 2021-05-29  发布在  Spark
关注(0)|答案(1)|浏览(459)

例如,我希望在databricks中输出这样的内容。

我知道如何在ssms或oracle中实现,但这种语法在databricks中不起作用。我试着用“展示台”,但它不符合我的目的。

mgdq6dx1

mgdq6dx11#

检查这是否有用-

spark.range(3).createOrReplaceTempView("df1")
    println(spark.catalog.listTables().map(_.name).collect()
      .map(table => table -> spark.table(table).count()).mkString(", "))

    /**
      * (df1,3)
      */

使用db\ U名称

println(spark.catalog.listTables(spark.catalog.currentDatabase).map(_.name).collect()
      .map(table => table -> spark.table(table).count()).mkString(", "))

    /**
      * (df1,3)
      */

相关问题