All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nachc.cad.cosmos.databricks.drop.DropDatabricksSchema Maven / Gradle / Ivy

package org.nachc.cad.cosmos.databricks.drop;

import java.sql.Connection;
import java.util.List;

import org.nachc.cad.cosmos.util.connection.CosmosConnections;
import org.nachc.cad.cosmos.util.databricks.auth.DatabricksAuthUtil;
import org.nachc.cad.cosmos.util.databricks.database.DatabricksDbConnectionFactory;
import org.nachc.cad.cosmos.util.params.DatabricksParams;

import com.nach.core.util.databricks.database.DatabricksDbUtil;
import com.nach.core.util.databricks.file.DatabricksFileUtil;
import com.nach.core.util.json.JsonUtil;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class DropDatabricksSchema {

	public static void main(String[] args) {
		log.info("* * * * * * * * * * * * * * * * * * * * * * *");
		log.info("* * *                                   * * *");
		log.info("* * *    ABOUT TO DROP COSMOS SCHEMA    * * *");
		log.info("* * *                                   * * *");
		log.info("* * * * * * * * * * * * * * * * * * * * * * *");
		String url = DatabricksParams.getRestUrl();
		String token = DatabricksAuthUtil.getToken();
		DatabricksFileUtil util = new DatabricksFileUtil(url, token);
		log.info("Getting connection...");
		CosmosConnections conns = new CosmosConnections();
		Connection conn = conns.getDbConnection();
		log.info("Doing drop");
		log.info("Dropping cosmos");
		DatabricksDbUtil.dropDatabase("cosmos", conn, conns);
		log.info("Dropping rxnorm");
		DatabricksDbUtil.dropDatabase("rxnorm", conn, conns);
		log.info("Dropping value_set");
		DatabricksDbUtil.dropDatabase("value_set", conn, conns);
		log.info("Deleting prod files...");
		String response = util.list("/FileStore/tables");
		log.info("Got response: \n" + response);
		List paths = JsonUtil.getJsonArray(response, "files");
		int cnt = 0;
		for(String pathJson : paths) {
			cnt++;
			String path = JsonUtil.getString(pathJson, "path");
			log.info("REMOVING PATH: " + cnt + " of " + paths.size() + ":\t" + path);
			util.rmdir(path);
			log.info("Done with remove");
		}
		log.info("Done.");
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy