in odps-console-basic/src/main/java/com/aliyun/openservices/odps/console/commands/ExternalProjectCommand.java [75:126]
public static void printUsage(PrintStream stream) {
stream.println("Usage: create externalproject -name <project name> -ref <referred managed project> [-comment <comment>]");
stream.println(" [-nn <namenode ips> -hms <hive metastore ips>]|[-foreignServer <server_name>] -db <hive database name> [-hmsPrincipals <kerberos principals of hms>]");
stream.println(" [-vpc <vpc id> -region <vpc region> [-accessIp <vpc internal ips>]] [-dfsNamespace <hive ha dfs namespace>]");
stream.println(" [-D <property name 1>=<value1> ...];");
stream.println("Usage: create externalproject -source dlf -name <project name> -ref <referred managed project> [-comment <comment>]");
stream.println(" -region <dlf region> -db <dlf database name> -endpoint <dlf endpoint> [-ramRoleArn <ram role arn to access dlf>]");
stream.println(" [-D <property name 1>=<value1> ...];");
stream.println("Usage: update externalproject -name <project name>");
stream.println(" -nn <namenode ips> -hms <hive metastore ips> -db <hive database name> [-hmsPrincipals <kerberos principals of hms>]");
stream.println(" [-vpc <vpc id> -region <vpc region> [-accessIp <vpc internal ips>]] [-dfsNamespace <hive ha dfs namespace>]");
stream.println(" [-D <property name 1>=<value1> ...];");
stream.println("Usage: update externalproject -source dlf -name <project name>");
stream.println(" -region <dlf region> -db <dlf database name> -endpoint <dlf endpoint> [-ramRoleArn <ram role arn to access dlf>]");
stream.println(" [-ossEndpoint <oss endpoint>]");
stream.println(" [-T <table property name 1>=<value1> ...] [-D <property name 1>=<value1> ...];");
stream.println("Usage: drop externalproject -name <project name>");
stream.println();
stream.println("1. All ip addresses require ports specified: 'ip:port'. Multiple ip addresses should be delimited by comma.");
stream.println("2. To see all supported table properties you can set via '-T p=v', refer to external project documentation.");
stream.println("3. To see how to specify 'hmsPrincipals' and 'dfs.data.transfer.protection' for kerberos hive, refer to external project documentation.");
stream.println();
stream.println("## Examples:");
stream.println("#### hive db:");
stream.println(" create externalproject -name p1 -ref myprj1 -comment test -nn \"1.1.1.1:8080,2.2.2.2:3823\" -hms \"3.3.3.3:3838\" -db default;");
stream.println(" create externalproject -name p1 -ref myprj1 -comment test -nn \"1.1.1.1:8080,2.2.2.2:3823\" -hms \"3.3.3.3:3838\" -db default ");
stream.println(" -vpc vpc1 -region cn-zhangjiakou -accessIp \"192.168.0.11-192.168.0.14:50010,192.168.0.23:50020\"");
stream.println(" -dfsNamespace emr-cluster;");
stream.println(" create externalproject -name p1 -ref myprj1 -comment test -nn \"1.1.1.1:8080,2.2.2.2:3823\" -hms \"3.3.3.3:3838\" -db default ");
stream.println(" -vpc vpc1 -region cn-zhangjiakou -accessIp \"192.168.0.11-192.168.0.14:50010,192.168.0.23:50020\"");
stream.println(" -dfsNamespace emr-cluster -D odps.properties.rolearn=samplerolearn -D another.property=abcde;");
stream.println(" create externalproject -name p1 -ref myprj1 -comment test -foreignServer server_1 -db default;");
stream.println("#### hive db with kerberos:");
stream.println(" create externalproject -name p1 -ref myprj1 -comment test -nn \"1.1.1.1:8080,2.2.2.2:3823\" -hms \"3.3.3.3:3838,4.4.4.4:3838\" -db default ");
stream.println(" -hmsPrincipals \"hive/emr-header-1.cluster-203713@EMR.203713.COM,hive/emr-header-2.cluster-203713@EMR.203713.COM\"");
stream.println(" -vpc vpc1 -region cn-zhangjiakou -accessIp \"192.168.0.11-192.168.0.14:50010,192.168.0.23:50020\"");
stream.println(" -dfsNamespace emr-cluster -D dfs.data.transfer.protection=integrity;");
stream.println("#### dlf:");
stream.println(" create externalproject -source dlf -name p1 -ref myprj1 -comment test -region cn-shanghai -db default ");
stream.println(" -endpoint \"dlf.cn-shanghai.aliyuncs.com\";");
stream.println(" create externalproject -source dlf -name p1 -ref myprj1 -comment test -region cn-shanghai -db default ");
stream.println(" -endpoint \"dlf.cn-shanghai.aliyuncs.com\" -ramRoleArn \"acs:ram::12345:role/myrolefordlfonodps\";");
stream.println(" create externalproject -source dlf -name p1 -ref myprj1 -comment test -region cn-shanghai -db default ");
stream.println(" -endpoint \"dlf.cn-shanghai.aliyuncs.com\" -D a.property=ddfjie -D another.property=abcde;");
stream.println(" create externalproject -source dlf -name p1 -ref myprj1 -comment test -region cn-shanghai -db default ");
stream.println(" -endpoint \"dlf.cn-shanghai.aliyuncs.com\" -ossEndpoint \"oss-cn-shanghai-internal.aliyuncs.com\" ");
stream.println(" -T file_format=orc -T output_format=text -D another.property=abcde;");
}