Skip to content

Commit

Permalink
Replace ExportTsFile By SubscriptionTsFile
Browse files Browse the repository at this point in the history
  • Loading branch information
2b3c511 committed Feb 11, 2025
1 parent e5dacc0 commit 924016b
Show file tree
Hide file tree
Showing 8 changed files with 851 additions and 485 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public void test() throws IOException {

@Override
protected void testOnWindows() throws IOException {
final String[] output = {"!!!Warning:Tablet is empty,no data can be exported."};
final String[] output = {"Subscription TsFile Count:0"};
ProcessBuilder builder =
new ProcessBuilder(
"cmd.exe",
Expand All @@ -90,10 +90,8 @@ protected void testOnWindows() throws IOException {
"root",
"-pw",
"root",
"-t",
"target",
"-q",
"select * from root.test.t2 where time > 1 and time < 1000000000000",
"-path",
"root.test.t2.**",
"&",
"exit",
"%^errorlevel%");
Expand All @@ -102,7 +100,7 @@ protected void testOnWindows() throws IOException {

prepareData();

final String[] output1 = {"Export completely!"};
final String[] output1 = {"Subscription TsFile Count:1"};
ProcessBuilder builder1 =
new ProcessBuilder(
"cmd.exe",
Expand All @@ -116,10 +114,8 @@ protected void testOnWindows() throws IOException {
"root",
"-pw",
"root",
"-t",
"target",
"-q",
"select * from root.test.t2 where time > 1 and time < 1000000000000",
"-path",
"root.test.t2.**",
"&",
"exit",
"%^errorlevel%");
Expand All @@ -129,7 +125,7 @@ protected void testOnWindows() throws IOException {

@Override
protected void testOnUnix() throws IOException {
final String[] output = {"!!!Warning:Tablet is empty,no data can be exported."};
final String[] output = {"Subscription TsFile Count:0"};
// -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q "select * from root.**"
ProcessBuilder builder =
new ProcessBuilder(
Expand All @@ -143,16 +139,14 @@ protected void testOnUnix() throws IOException {
"root",
"-pw",
"root",
"-t",
"target",
"-q",
"select * from root.**");
"-path",
"root.**");
builder.environment().put("CLASSPATH", libPath);
testOutput(builder, output, 0);

prepareData();

final String[] output1 = {"Export completely!"};
final String[] output1 = {"Subscription TsFile Count:1"};
// -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q "select * from root.**"
ProcessBuilder builder1 =
new ProcessBuilder(
Expand All @@ -166,10 +160,8 @@ protected void testOnUnix() throws IOException {
"root",
"-pw",
"root",
"-t",
"target",
"-q",
"select * from root.**");
"-path",
"root.**");
builder1.environment().put("CLASSPATH", libPath);
testOutput(builder1, output1, 0);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

import org.apache.tsfile.enums.TSDataType;

import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;

Expand Down Expand Up @@ -177,6 +178,8 @@ public class Constants {
public static final String TARGET_DIR_NAME = "target";
public static final String TARGET_DIR_ARGS_NAME = "target_directory";
public static final String TARGET_DIR_DESC = "Target file directory (required)";
public static final String TARGET_DIR_SUBSCRIPTION_DESC =
"Target file directory.default ./target/out/ (optional)";

public static final String QUERY_COMMAND_ARGS = "q";
public static final String QUERY_COMMAND_NAME = "query";
Expand Down Expand Up @@ -211,6 +214,9 @@ public class Constants {
public static final String[] TIME_FORMAT =
new String[] {"default", "long", "number", "timestamp"};

public static final String PATH_ARGS = "path";
public static final String PATH_DESC = "the iotdb path to be subscripted in model tree";

public static final long memoryThreshold = 10 * 1024 * 1024;

public static final String[] STRING_TIME_FORMAT =
Expand Down Expand Up @@ -253,6 +259,23 @@ public class Constants {
"yyyy.MM.dd'T'HH:mm:ss"
};

public static final String SUBSCRIPTION_CLI_PREFIX = "Subscription TsFile";
public static final int MAX_RETRY_TIMES = 2;
public static final String LOOSE_RANGE = "";
public static final boolean STRICT = false;
public static final String MODE = "snapshot";
public static final boolean AUTO_COMMIT = false;
public static final String TABLE_MODEL = "table";
public static final long AUTO_COMMIT_INTERVAL = 5000;
public static final long POLL_MESSAGE_TIMEOUT = 10000;
public static final String TOPIC_NAME_PREFIX = "topic_";
public static final String GROUP_NAME_PREFIX = "group_";
public static final String HANDLER = "TsFileHandler";
public static final String CONSUMER_NAME_PREFIX = "consumer_";
public static final SimpleDateFormat DATE_FORMAT =
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
public static final SimpleDateFormat DATE_FORMAT_VIEW = new SimpleDateFormat("yyyyMMddHHmmssSSS");

// import constants
public static final String IMPORT_CLI_PREFIX = "Import Data";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -912,4 +912,116 @@ public static Options createTableImportTsFileOptions() {
options.addOption(opTimestampPrecision);
return options;
}

public static Options createSubscriptionTsFileOptions() {
Options options = new Options();

Option opSqlDialect =
Option.builder(SQL_DIALECT_ARGS)
.longOpt(SQL_DIALECT_ARGS)
.argName(SQL_DIALECT_ARGS)
.hasArg()
.desc(SQL_DIALECT_DESC)
.build();
options.addOption(opSqlDialect);

Option opHost =
Option.builder(HOST_ARGS)
.longOpt(HOST_NAME)
.argName(HOST_NAME)
.hasArg()
.desc(HOST_DESC)
.build();
options.addOption(opHost);

Option opPort =
Option.builder(PORT_ARGS)
.longOpt(PORT_NAME)
.argName(PORT_NAME)
.hasArg()
.desc(PORT_DESC)
.build();
options.addOption(opPort);

Option opUsername =
Option.builder(USERNAME_ARGS)
.longOpt(USERNAME_NAME)
.argName(USERNAME_NAME)
.hasArg()
.desc(USERNAME_DESC)
.build();
options.addOption(opUsername);

Option opPassword =
Option.builder(PW_ARGS)
.longOpt(PW_NAME)
.optionalArg(true)
.argName(PW_NAME)
.hasArg()
.desc(PW_DESC)
.build();
options.addOption(opPassword);

Option opPath =
Option.builder(PATH_ARGS)
.longOpt(PATH_ARGS)
.argName(PATH_ARGS)
.hasArg()
.desc(PATH_DESC)
.build();
options.addOption(opPath);

Option opDatabase =
Option.builder(DB_ARGS).longOpt(DB_NAME).argName(DB_ARGS).hasArg().desc(DB_DESC).build();
options.addOption(opDatabase);

Option opTable =
Option.builder(TABLE_ARGS)
.longOpt(TABLE_ARGS)
.argName(TABLE_ARGS)
.hasArg()
.desc(TABLE_DESC_EXPORT)
.build();
options.addOption(opTable);

Option opStartTime =
Option.builder(START_TIME_ARGS)
.longOpt(START_TIME_ARGS)
.argName(START_TIME_ARGS)
.hasArg()
.desc(START_TIME_DESC)
.build();
options.addOption(opStartTime);

Option opEndTime =
Option.builder(END_TIME_ARGS)
.longOpt(END_TIME_ARGS)
.argName(END_TIME_ARGS)
.hasArg()
.desc(END_TIME_DESC)
.build();
options.addOption(opEndTime);

Option opFile =
Option.builder(TARGET_DIR_ARGS)
.longOpt(TARGET_DIR_NAME)
.argName(TARGET_DIR_ARGS_NAME)
.hasArg()
.desc(TARGET_DIR_SUBSCRIPTION_DESC)
.build();
options.addOption(opFile);

Option opThreadNum =
Option.builder(THREAD_NUM_ARGS)
.longOpt(THREAD_NUM_NAME)
.argName(THREAD_NUM_NAME)
.hasArg()
.desc(THREAD_NUM_DESC)
.build();
options.addOption(opThreadNum);

Option opHelp = Option.builder(HELP_ARGS).longOpt(HELP_ARGS).hasArg().desc(HELP_DESC).build();
options.addOption(opHelp);
return options;
}
}
Loading

0 comments on commit 924016b

Please sign in to comment.