如何創建表ddl導入到外部metastore

從Databricks學習如何從Hive導出所有表元數據到外部metastore。

寫的亞當Pavlacka

最後發布時間:2022年5月16日

Databricks支持使用外部的metastore而不是默認的Hive metastore。

可以將所有的表元數據從Hive導出到外部metastore。

  1. 使用Apache Spark目錄API來列出包含在metastore中的數據庫中的表。
  2. 使用顯示創建表語句生成ddl並將其存儲在一個文件中。
  3. 使用該文件將表ddl導入外部metastore。

下麵的代碼完成了前兩個步驟。

%python dbs = spark.catalog. listdatabases () for db in dbs: f = open("your_file_name_{}. DDL ".format(db.name), "w") tables = spark.catalog. listtables (db.name) for t in tables: DDL = spark.catalog. listtables (db.name)sql(“顯示創建表{}.{}”.format (db.name t.name)) f.write (DDL.first () [0]) f.write(“\ n”)f.close ()

您可以使用生成的文件將表ddl導入外部metastore。