You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2019/08/27 01:40:37 UTC

[kylin] branch master updated: KYLIN-4095: Add RESOURCE_PATH_PREFIX option in ResourceTool

This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
     new d6bff66  KYLIN-4095: Add RESOURCE_PATH_PREFIX option in ResourceTool
d6bff66 is described below

commit d6bff664fdd58db2cc7f0966c9b52ecc1a89bb8d
Author: Liu Shaohui <li...@xiaomi.com>
AuthorDate: Wed Apr 4 12:36:43 2018 +0800

    KYLIN-4095: Add RESOURCE_PATH_PREFIX option in ResourceTool
---
 .../kylin/common/persistence/ResourceTool.java     | 27 +++++++++++++++++-----
 1 file changed, 21 insertions(+), 6 deletions(-)

diff --git a/core-common/src/main/java/org/apache/kylin/common/persistence/ResourceTool.java b/core-common/src/main/java/org/apache/kylin/common/persistence/ResourceTool.java
index c282a79..2dc0984 100644
--- a/core-common/src/main/java/org/apache/kylin/common/persistence/ResourceTool.java
+++ b/core-common/src/main/java/org/apache/kylin/common/persistence/ResourceTool.java
@@ -51,8 +51,8 @@ public class ResourceTool {
 
         if (args.length == 0) {
             System.out.println("Usage: ResourceTool list  RESOURCE_PATH");
-            System.out.println("Usage: ResourceTool download  LOCAL_DIR");
-            System.out.println("Usage: ResourceTool upload    LOCAL_DIR");
+            System.out.println("Usage: ResourceTool download  LOCAL_DIR [RESOURCE_PATH_PREFIX]");
+            System.out.println("Usage: ResourceTool upload    LOCAL_DIR [RESOURCE_PATH_PREFIX]");
             System.out.println("Usage: ResourceTool reset");
             System.out.println("Usage: ResourceTool remove RESOURCE_PATH");
             System.out.println("Usage: ResourceTool cat RESOURCE_PATH");
@@ -84,15 +84,29 @@ public class ResourceTool {
                 tool.list(KylinConfig.getInstanceFromEnv(), args[1]);
                 break;
             case "download":
-                tool.copyParallel(KylinConfig.getInstanceFromEnv(), KylinConfig.createInstanceFromUri(args[1]), "/");
-                System.out.println("Metadata backed up to " + args[1]);
+                if (args.length == 2) {
+                    tool.copyParallel(KylinConfig.getInstanceFromEnv(), KylinConfig.createInstanceFromUri(args[1]), "/");
+                    System.out.println("Metadata backed up to " + args[1]);
+                } else if (args.length == 3) {
+                    tool.copyParallel(KylinConfig.getInstanceFromEnv(), KylinConfig.createInstanceFromUri(args[1]), args[2]);
+                    System.out.println("Metadata with prefix: " + args[2] + " backed up to " + args[1]);
+                } else {
+                    System.err.println("Illegal args : " + args);
+                }
                 break;
             case "fetch":
                 tool.copy(KylinConfig.getInstanceFromEnv(), KylinConfig.createInstanceFromUri(args[1]), args[2], true);
                 break;
             case "upload":
-                tool.copyParallel(KylinConfig.createInstanceFromUri(args[1]), KylinConfig.getInstanceFromEnv(), "/");
-                System.out.println("Metadata restored from " + args[1]);
+                if (args.length == 2) {
+                    tool.copyParallel(KylinConfig.createInstanceFromUri(args[1]), KylinConfig.getInstanceFromEnv(), "/");
+                    System.out.println("Metadata restored from " + args[1]);
+                } else if (args.length == 3) {
+                    tool.copyParallel(KylinConfig.createInstanceFromUri(args[1]), KylinConfig.getInstanceFromEnv(), args[2]);
+                    System.out.println("Metadata with prefix: " + args[2] + " restored from " + args[1]);
+                } else {
+                    System.err.println("Illegal args : " + args);
+                }
                 break;
             case "remove":
                 tool.remove(KylinConfig.getInstanceFromEnv(), args[1]);
@@ -257,6 +271,7 @@ public class ResourceTool {
                 try {
                     RawResource res = src.getResource(path);
                     if (res != null) {
+                        logger.info("Copy path: {} from {} to {}", path, src, dst);
                         try {
                             dst.putResource(path, res.content(), res.lastModified());
                         } finally {