Databricks支持使用外部的metastore而不是默認的Hive metastore。
可以將所有的表元數據從Hive導出到外部metastore。
- 使用Apache Spark目錄API來列出包含在metastore中的數據庫中的表。
- 使用顯示創建表語句生成ddl並將其存儲在一個文件中。
- 使用該文件將表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。