public static Library GetLibrary(string token)
        {
            var extension = token.Split('.').Last();

            switch (extension)
            {
            case "jar":
                Console.WriteLine($"Using jar library {token}");
                return(new JarLibrary(token));

            case "egg":
            {
                Console.WriteLine($"Using egg library {token}");
                var egg = new EggLibrary();
                egg.Egg = token;
                return(egg);
            }

            case "whl":
            {
                Console.WriteLine($"Using wheel library {token}");
                var wheel = new WheelLibrary();
                wheel.Wheel = token;
                return(wheel);
            }

            default:
                throw new InvalidOperationException($"Unrecognized library extension {extension}");
            }
        }
Beispiel #2
0
        private static async Task LibrariesApi(DatabricksClient client)
        {
            Console.WriteLine("All cluster statuses");
            var libraries = await client.Libraries.AllClusterStatuses();

            foreach (var(clusterId, libraryStatuses) in libraries)
            {
                Console.WriteLine("Cluster: {0}", clusterId);

                foreach (var status in libraryStatuses)
                {
                    Console.WriteLine("\t{0}\t{1}", status.Status, status.Library);
                }
            }

            const string testClusterId = "0530-210517-viced348";

            Console.WriteLine("Getting cluster statuses for {0}", testClusterId);
            var statuses = await client.Libraries.ClusterStatus(testClusterId);

            foreach (var status in statuses)
            {
                Console.WriteLine("\t{0}\t{1}", status.Status, status.Library);
            }

            var mvnlibraryToInstall = new MavenLibrary
            {
                MavenLibrarySpec = new MavenLibrarySpec
                {
                    Coordinates = "org.jsoup:jsoup:1.7.2",
                    Exclusions  = new[] { "slf4j:slf4j" }
                }
            };

            await TestInstallUninstallLibrary(client, mvnlibraryToInstall, testClusterId);

            var whlLibraryToInstall = new WheelLibrary
            {
                Wheel = "dbfs:/mnt/dbfsmount1/temp/docutils-0.14-py3-none-any.whl"
            };

            await TestInstallUninstallLibrary(client, whlLibraryToInstall, testClusterId);
        }