From e78149cb6522231d01315822134f0fef9e8a8c50 Mon Sep 17 00:00:00 2001 From: Tiewei Fang <43782773+BePPPower@users.noreply.github.com> Date: Mon, 8 May 2023 14:02:20 +0800 Subject: [PATCH] [Enhencement](Export) add property for outfile/export and add test (#18997) This pr does three things: 1. add `delete_existing_files` property for outfile/export. If `delete_existing_files = true`, export/outfile will delete all files under file_path first. 2. add p2 test for export 3. modify docs --- be/src/vec/runtime/vfile_result_writer.cpp | 50 + be/src/vec/runtime/vfile_result_writer.h | 2 + be/src/vec/sink/vresult_sink.h | 4 + .../Manipulation/EXPORT.md | 283 +++-- .../Data-Manipulation-Statements/OUTFILE.md | 52 +- .../Manipulation/EXPORT.md | 271 +++-- .../Data-Manipulation-Statements/OUTFILE.md | 53 +- .../java/org/apache/doris/common/Config.java | 8 + .../org/apache/doris/analysis/ExportStmt.java | 6 + .../apache/doris/analysis/OutFileClause.java | 10 +- .../java/org/apache/doris/load/ExportJob.java | 10 + .../java/org/apache/doris/load/ExportMgr.java | 1 + gensrc/thrift/DataSinks.thrift | 2 + regression-test/conf/regression-conf.groovy | 5 +- .../export_p2/test_export_max_file_size.out | 1003 +++++++++++++++++ .../data/export_p2/test_export_with_hdfs.out | 73 ++ .../data/export_p2/test_export_with_s3.out | 73 ++ .../test_export_max_file_size.groovy | 140 +++ .../export_p2/test_export_with_hdfs.groovy | 111 ++ .../export_p2/test_export_with_s3.groovy | 115 ++ 20 files changed, 2045 insertions(+), 227 deletions(-) create mode 100644 regression-test/data/export_p2/test_export_max_file_size.out create mode 100644 regression-test/data/export_p2/test_export_with_hdfs.out create mode 100644 regression-test/data/export_p2/test_export_with_s3.out create mode 100644 regression-test/suites/export_p2/test_export_max_file_size.groovy create mode 100644 regression-test/suites/export_p2/test_export_with_hdfs.groovy create mode 100644 regression-test/suites/export_p2/test_export_with_s3.groovy diff --git a/be/src/vec/runtime/vfile_result_writer.cpp b/be/src/vec/runtime/vfile_result_writer.cpp index cefebb4ea2..2684576f5d 100644 --- a/be/src/vec/runtime/vfile_result_writer.cpp +++ b/be/src/vec/runtime/vfile_result_writer.cpp @@ -32,8 +32,12 @@ #include "common/status.h" #include "gutil/strings/numbers.h" #include "io/file_factory.h" +#include "io/fs/broker_file_system.h" #include "io/fs/file_writer.h" +#include "io/fs/hdfs_file_system.h" #include "io/fs/local_file_system.h" +#include "io/fs/s3_file_system.h" +#include "io/hdfs_builder.h" #include "runtime/buffer_control_block.h" #include "runtime/decimalv2_value.h" #include "runtime/define_primitive_type.h" @@ -46,6 +50,8 @@ #include "util/metrics.h" #include "util/mysql_global.h" #include "util/mysql_row_buffer.h" +#include "util/s3_uri.h" +#include "util/s3_util.h" #include "util/types.h" #include "util/uid_util.h" #include "vec/columns/column.h" @@ -87,6 +93,10 @@ VFileResultWriter::VFileResultWriter( Status VFileResultWriter::init(RuntimeState* state) { _state = state; _init_profile(); + // Delete existing files + if (_file_opts->delete_existing_files) { + RETURN_IF_ERROR(_delete_dir()); + } return _create_next_file_writer(); } @@ -562,6 +572,46 @@ Status VFileResultWriter::_fill_result_block() { return Status::OK(); } +Status VFileResultWriter::_delete_dir() { + // get dir of file_path + std::string dir = _file_opts->file_path.substr(0, _file_opts->file_path.find_last_of('/') + 1); + std::shared_ptr file_system = nullptr; + switch (_storage_type) { + case TStorageBackendType::LOCAL: + file_system = io::LocalFileSystem::create(dir, ""); + break; + case TStorageBackendType::BROKER: { + std::shared_ptr broker_fs = nullptr; + RETURN_IF_ERROR(io::BrokerFileSystem::create(_file_opts->broker_addresses[0], + _file_opts->broker_properties, &broker_fs)); + file_system = broker_fs; + break; + } + case TStorageBackendType::HDFS: { + THdfsParams hdfs_params = parse_properties(_file_opts->broker_properties); + std::shared_ptr hdfs_fs = nullptr; + RETURN_IF_ERROR(io::HdfsFileSystem::create(hdfs_params, "", &hdfs_fs)); + file_system = hdfs_fs; + break; + } + case TStorageBackendType::S3: { + S3URI s3_uri(dir); + RETURN_IF_ERROR(s3_uri.parse()); + S3Conf s3_conf; + std::shared_ptr s3_fs = nullptr; + RETURN_IF_ERROR(S3ClientFactory::convert_properties_to_s3_conf( + _file_opts->broker_properties, s3_uri, &s3_conf)); + RETURN_IF_ERROR(io::S3FileSystem::create(s3_conf, "", &s3_fs)); + file_system = s3_fs; + break; + } + default: + return Status::NotSupported("Unsupported storage type: {}", std::to_string(_storage_type)); + } + RETURN_IF_ERROR(file_system->delete_directory(dir)); + return Status::OK(); +} + Status VFileResultWriter::close() { // the following 2 profile "_written_rows_counter" and "_writer_close_timer" // must be outside the `_close_file_writer()`. diff --git a/be/src/vec/runtime/vfile_result_writer.h b/be/src/vec/runtime/vfile_result_writer.h index 1f5cb05ba3..d01ad5bf74 100644 --- a/be/src/vec/runtime/vfile_result_writer.h +++ b/be/src/vec/runtime/vfile_result_writer.h @@ -94,6 +94,8 @@ private: Status _send_result(); // save result into batch rather than send it Status _fill_result_block(); + // delete the dir of file_path + Status _delete_dir(); RuntimeState* _state; // not owned, set when init const ResultFileOptions* _file_opts; diff --git a/be/src/vec/sink/vresult_sink.h b/be/src/vec/sink/vresult_sink.h index 50a7b0141d..adf5dd249d 100644 --- a/be/src/vec/sink/vresult_sink.h +++ b/be/src/vec/sink/vresult_sink.h @@ -69,6 +69,8 @@ struct ResultFileOptions { bool is_refactor_before_flag = false; std::string orc_schema; + bool delete_existing_files = false; + ResultFileOptions(const TResultFileSinkOptions& t_opt) { file_path = t_opt.file_path; file_format = t_opt.file_format; @@ -76,6 +78,8 @@ struct ResultFileOptions { line_delimiter = t_opt.__isset.line_delimiter ? t_opt.line_delimiter : "\n"; max_file_size_bytes = t_opt.__isset.max_file_size_bytes ? t_opt.max_file_size_bytes : max_file_size_bytes; + delete_existing_files = + t_opt.__isset.delete_existing_files ? t_opt.delete_existing_files : false; is_local_file = true; if (t_opt.__isset.broker_addresses) { diff --git a/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Manipulation/EXPORT.md b/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Manipulation/EXPORT.md index 7610722e6f..7a215ad35d 100644 --- a/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Manipulation/EXPORT.md +++ b/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Manipulation/EXPORT.md @@ -39,9 +39,10 @@ This is an asynchronous operation that returns if the task is submitted successf ```sql EXPORT TABLE table_name [PARTITION (p1[,p2])] +[WHERE] TO export_path [opt_properties] -WITH BROKER +WITH BROKER/S3/HDFS [broker_properties]; ``` @@ -57,7 +58,7 @@ illustrate: - `export_path` - The exported path must be a directory. + The exported file path can be a directory or a file directory with a file prefix, for example: `hdfs://path/to/my_file_` - `opt_properties` @@ -69,115 +70,173 @@ illustrate: The following parameters can be specified: + - `label`: This parameter is optional, specifies the label of the export task. If this parameter is not specified, the system randomly assigns a label to the export task. - `column_separator`: Specifies the exported column separator, default is \t. Only single byte is supported. - `line_delimiter`: Specifies the line delimiter for export, the default is \n. Only single byte is supported. - - `exec_mem_limit`: Export the upper limit of the memory usage of a single BE node, the default is 2GB, and the unit is bytes. - `timeout`: The timeout period of the export job, the default is 2 hours, the unit is seconds. - - `tablet_num_per_task`: The maximum number of tablets each subtask can allocate to scan. + - `columns`: Specifies certain columns of the export job table + - `format`: Specifies the file format, support: parquet, orc, csv, csv_with_names, csv_with_names_and_types.The default is csv format. + - `delete_existing_files`: default `false`. If it is specified as true, you will first delete all files specified in the directory specified by the file_path, and then export the data to the directory.For example: "file_path" = "/user/tmp", then delete all files and directory under "/user/"; "file_path" = "/user/tmp/", then delete all files and directory under "/user/tmp/" + + > Note that to use the `delete_existing_files` parameter, you also need to add the configuration `enable_delete_existing_files = true` to the fe.conf file and restart the FE. Only then will the `delete_existing_files` parameter take effect. Setting `delete_existing_files = true` is a dangerous operation and it is recommended to only use it in a testing environment. - `WITH BROKER` The export function needs to write data to the remote storage through the Broker process. Here you need to define the relevant connection information for the broker to use. ```sql - WITH BROKER hdfs|s3 ("key"="value"[,...]) + WITH BROKER "broker_name" + ("key"="value"[,...]) + + Broker related properties: + username: user name + password: password + hadoop.security.authentication: specify the authentication method as kerberos + kerberos_principal: specifies the principal of kerberos + kerberos_keytab: specifies the path to the keytab file of kerberos. The file must be the absolute path to the file on the server where the broker process is located. and can be accessed by the Broker process ```` - 1. If the export is to Amazon S3, you need to provide the following properties +- `WITH HDFS` -```` -fs.s3a.access.key: AmazonS3 access key -fs.s3a.secret.key: AmazonS3 secret key -fs.s3a.endpoint: AmazonS3 endpoint -```` + You can directly write data to the remote HDFS. - 2. If you use the S3 protocol to directly connect to the remote storage, you need to specify the following properties - ( - "AWS_ENDPOINT" = "", - "AWS_ACCESS_KEY" = "", - "AWS_SECRET_KEY"="", - "AWS_REGION" = "" - ) + ```sql + WITH HDFS ("key"="value"[,...]) + + HDFS related properties: + fs.defaultFS: namenode address and port + hadoop.username: hdfs username + dfs.nameservices: if hadoop enable HA, please set fs nameservice. See hdfs-site.xml + dfs.ha.namenodes.[nameservice ID]:unique identifiers for each NameNode in the nameservice. See hdfs-site.xml + dfs.namenode.rpc-address.[nameservice ID].[name node ID]: the fully-qualified RPC address for each NameNode to listen on. See hdfs-site.xml + dfs.client.failover.proxy.provider.[nameservice ID]:the Java class that HDFS clients use to contact the Active NameNode, usually it is org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider + + For a kerberos-authentication enabled Hadoop cluster, additional properties need to be set: + dfs.namenode.kerberos.principal: HDFS namenode service principal + hadoop.security.authentication: kerberos + hadoop.kerberos.principal: the Kerberos pincipal that Doris will use when connectiong to HDFS. + hadoop.kerberos.keytab: HDFS client keytab location. + ``` + +- `WITH S3` + + You can directly write data to a remote S3 object store + + ```sql + WITH S3 ("key"="value"[,...]) + + S3 related properties: + AWS_ENDPOINT + AWS_ACCESS_KEY + AWS_SECRET_KEY + AWS_REGION + use_path_stype: (optional) default false . The S3 SDK uses the virtual-hosted style by default. However, some object storage systems may not be enabled or support virtual-hosted style access. At this time, we can add the use_path_style parameter to force the use of path style access method. + ``` ### Example -1. Export all data in the test table to hdfs +#### export to local + +Export data to the local file system needs to add `enable_outfile_to_local = true` to the fe.conf and restart the Fe. + +1. You can export the `test` table to a local store. Export csv format file by default. ```sql -EXPORT TABLE test TO "hdfs://hdfs_host:port/a/b/c" -WITH BROKER "broker_name" -( - "username"="xxx", - "password"="yyy" -); +EXPORT TABLE test TO "file:///home/user/tmp/"; ``` -2. Export partitions p1, p2 in the testTbl table to hdfs +2. You can export the k1 and k2 columns in `test` table to a local store, and set export label. Export csv format file by default. ```sql -EXPORT TABLE testTbl PARTITION (p1,p2) TO "hdfs://hdfs_host:port/a/b/c" -WITH BROKER "broker_name" -( - "username"="xxx", - "password"="yyy" -); -``` - -3. Export all data in the testTbl table to hdfs, with "," as the column separator, and specify the label - -```sql -EXPORT TABLE testTbl TO "hdfs://hdfs_host:port/a/b/c" -PROPERTIES ("label" = "mylabel", "column_separator"=",") -WITH BROKER "broker_name" -( - "username"="xxx", - "password"="yyy" -); -``` - -4. Export the row with k1 = 1 in the testTbl table to hdfs. - -```sql -EXPORT TABLE testTbl WHERE k1=1 TO "hdfs://hdfs_host:port/a/b/c" -WITH BROKER "broker_name" -( - "username"="xxx", - "password"="yyy" -); -``` - -5. Export all data in the testTbl table to local. - -```sql -EXPORT TABLE testTbl TO "file:///home/data/a"; -``` - -6. Export all data in the testTbl table to hdfs with invisible character "\x07" as column or row separator. - -```sql -EXPORT TABLE testTbl TO "hdfs://hdfs_host:port/a/b/c" +EXPORT TABLE test TO "file:///home/user/tmp/" PROPERTIES ( - "column_separator"="\\x07", - "line_delimiter" = "\\x07" -) -WITH BROKER "broker_name" -( - "username"="xxx", - "password"="yyy" + "label" = "label1", + "columns" = "k1,k2" +); +``` + +3. You can export the rows where `k1 < 50` in `test` table to a local store, and set column_separator to `,`. Export csv format file by default. + +```sql +EXPORT TABLE test WHERE k1 < 50 TO "file:///home/user/tmp/" +PROPERTIES ( + "columns" = "k1,k2", + "column_separator"="," +); +``` + +4. Export partitions p1 and p2 from the test table to local storage, with the default exported file format being csv. + +```sql +EXPORT TABLE test PARTITION (p1,p2) TO "file:///home/user/tmp/" +PROPERTIES ("columns" = "k1,k2"); + ``` + +5. Export all data in the test table to local storage with a non-default file format. + +```sql +// parquet file format +EXPORT TABLE test TO "file:///home/user/tmp/" +PROPERTIES ( + "columns" = "k1,k2", + "format" = "parquet" +); + +// orc file format +EXPORT TABLE test TO "file:///home/user/tmp/" +PROPERTIES ( + "columns" = "k1,k2", + "format" = "orc" +); + +// csv_with_names file format. Using 'AA' as the column delimiter and 'zz' as the line delimiter. +EXPORT TABLE test TO "file:///home/user/tmp/" +PROPERTIES ( + "format" = "csv_with_names", + "column_separator"="AA", + "line_delimiter" = "zz" +); + +// csv_with_names_and_types file format +EXPORT TABLE test TO "file:///home/user/tmp/" +PROPERTIES ( + "format" = "csv_with_names_and_types" +); + +``` + +6. set max_file_sizes + +```sql +EXPORT TABLE test TO "file:///home/user/tmp/" +PROPERTIES ( + "format" = "parquet", + "max_file_size" = "5MB" +); +``` + +When the exported file size is larger than 5MB, the data will be split into multiple files, with each file containing a maximum of 5MB. + +7. set delete_existing_files + +```sql +EXPORT TABLE test TO "file:///home/user/tmp" +PROPERTIES ( + "format" = "parquet", + "max_file_size" = "5MB", + "delete_existing_files" = "true" ) ``` -7. Export the k1, v1 columns of the testTbl table to the local. +Before exporting data, all files and directories in the `/home/user/` directory will be deleted, and then the data will be exported to that directory. + +#### export with S3 + +8. Export all data from the `testTbl` table to S3 using invisible character '\x07' as a delimiter for columns and rows. ```sql -EXPORT TABLE testTbl TO "file:///home/data/a" PROPERTIES ("columns" = "k1,v1"); -``` - -8. Export all data in the testTbl table to s3 with invisible characters "\x07" as column or row separators. - -```sql -EXPORT TABLE testTbl TO "hdfs://hdfs_host:port/a/b/c" +EXPORT TABLE testTbl TO "s3://hdfs_host:port/a/b/c" PROPERTIES ( "column_separator"="\\x07", "line_delimiter" = "\\x07" @@ -189,18 +248,60 @@ PROPERTIES ( ) ``` -9. Export all data in the testTbl table to cos(Tencent Cloud Object Storage). +#### export with HDFS ```sql -EXPORT TABLE testTbl TO "cosn://my_bucket/export/a/b/c" -PROPERTIES ( - "column_separator"=",", - "line_delimiter" = "\n" -) WITH BROKER "broker_name" +EXPORT TABLE test TO "hdfs://hdfs_host:port/a/b/c/" +PROPERTIES( + "format" = "parquet", + "max_file_size" = "1024MB", + "delete_existing_files" = "false" +) +with HDFS ( +"fs.defaultFS"="hdfs://hdfs_host:port", +"hadoop.username" = "hadoop" +); +``` + +#### export with Broker +You need to first start the broker process and add it to the FE before proceeding. +1. Export the `test` table to hdfs +```sql +EXPORT TABLE test TO "hdfs://hdfs_host:port/a/b/c" +WITH BROKER "broker_name" ( - "fs.cosn.userinfo.secretId" = "xxx", - "fs.cosn.userinfo.secretKey" = "xxxx", - "fs.cosn.bucket.endpoint_suffix" = "cos.xxxxxxxxx.myqcloud.com" + "username"="xxx", + "password"="yyy" +); +``` + +2. Export partitions 'p1' and 'p2' from the 'testTbl' table to HDFS using ',' as the column delimiter and specifying a label. + +```sql +EXPORT TABLE testTbl PARTITION (p1,p2) TO "hdfs://hdfs_host:port/a/b/c" +PROPERTIES ( + "label" = "mylabel", + "column_separator"="," +) +WITH BROKER "broker_name" +( + "username"="xxx", + "password"="yyy" +); +``` + +3. Export all data from the 'testTbl' table to HDFS using the non-visible character '\x07' as the column and row delimiter. + +```sql +EXPORT TABLE testTbl TO "hdfs://hdfs_host:port/a/b/c" +PROPERTIES ( + "column_separator"="\\x07", + "line_delimiter" = "\\x07" +) +WITH BROKER "broker_name" +( + "username"="xxx", + "password"="yyy" ) ``` diff --git a/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/OUTFILE.md b/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/OUTFILE.md index 08cd1eca83..32b0446321 100644 --- a/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/OUTFILE.md +++ b/docs/en/docs/sql-manual/sql-reference/Data-Manipulation-Statements/OUTFILE.md @@ -55,6 +55,7 @@ illustrate: my_file_abcdefg_1.csv my_file_abcdegf_2.csv ``` + You can also omit the file prefix and specify only the file directory, such as: `hdfs://path/to/` 2. format_as @@ -72,38 +73,43 @@ illustrate: grammar: [PROPERTIES ("key"="value", ...)] The following properties are supported: - column_separator: column separator. Support mulit-bytes, such as: "\\x01", "abc" - line_delimiter: line delimiter. Support mulit-bytes, such as: "\\x01", "abc" - max_file_size: the size limit of a single file, if the result exceeds this value, it will be cut into multiple files. + + File related properties + column_separator: column separator. Support mulit-bytes, such as: "\\x01", "abc" + line_delimiter: line delimiter. Support mulit-bytes, such as: "\\x01", "abc" + max_file_size: the size limit of a single file, if the result exceeds this value, it will be cut into multiple files. + delete_existing_files: default `false`. If it is specified as true, you will first delete all files specified in the directory specified by the file_path, and then export the data to the directory.For example: "file_path" = "/user/tmp", then delete all files and directory under "/user/"; "file_path" = "/user/tmp/", then delete all files and directory under "/user/tmp/" Broker related properties need to be prefixed with `broker.`: - broker.name: broker name - broker.hadoop.security.authentication: specify the authentication method as kerberos - broker.kerberos_principal: specifies the principal of kerberos - broker.kerberos_keytab: specifies the path to the keytab file of kerberos. The file must be the absolute path to the file on the server where the broker process is located. and can be accessed by the Broker process + broker.name: broker name + broker.hadoop.security.authentication: specify the authentication method as kerberos + broker.kerberos_principal: specifies the principal of kerberos + broker.kerberos_keytab: specifies the path to the keytab file of kerberos. The file must be the absolute path to the file on the server where the broker process is located. and can be accessed by the Broker process HDFS related properties: - fs.defaultFS: namenode address and port - hadoop.username: hdfs username - dfs.nameservices: if hadoop enable HA, please set fs nameservice. See hdfs-site.xml - dfs.ha.namenodes.[nameservice ID]:unique identifiers for each NameNode in the nameservice. See hdfs-site.xml - dfs.namenode.rpc-address.[nameservice ID].[name node ID]`:the fully-qualified RPC address for each NameNode to listen on. See hdfs-site.xml - dfs.client.failover.proxy.provider.[nameservice ID]:the Java class that HDFS clients use to contact the Active NameNode, usually it is org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider + fs.defaultFS: namenode address and port + hadoop.username: hdfs username + dfs.nameservices: if hadoop enable HA, please set fs nameservice. See hdfs-site.xml + dfs.ha.namenodes.[nameservice ID]:unique identifiers for each NameNode in the nameservice. See hdfs-site.xml + dfs.namenode.rpc-address.[nameservice ID].[name node ID]: the fully-qualified RPC address for each NameNode to listen on. See hdfs-site.xml + dfs.client.failover.proxy.provider.[nameservice ID]:the Java class that HDFS clients use to contact the Active NameNode, usually it is org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider - For a kerberos-authentication enabled Hadoop cluster, additional properties need to be set: - dfs.namenode.kerberos.principal: HDFS namenode service principal - hadoop.security.authentication: kerberos - hadoop.kerberos.principal: the Kerberos pincipal that Doris will use when connectiong to HDFS. - hadoop.kerberos.keytab: HDFS client keytab location. + For a kerberos-authentication enabled Hadoop cluster, additional properties need to be set: + dfs.namenode.kerberos.principal: HDFS namenode service principal + hadoop.security.authentication: kerberos + hadoop.kerberos.principal: the Kerberos pincipal that Doris will use when connectiong to HDFS. + hadoop.kerberos.keytab: HDFS client keytab location. For the S3 protocol, you can directly execute the S3 protocol configuration: - AWS_ENDPOINT - AWS_ACCESS_KEY - AWS_SECRET_KEY - AWS_REGION - use_path_stype: (optional) default false . The S3 SDK uses the virtual-hosted style by default. However, some object storage systems may not be enabled or support virtual-hosted style access. At this time, we can add the use_path_style parameter to force the use of path style access method. + AWS_ENDPOINT + AWS_ACCESS_KEY + AWS_SECRET_KEY + AWS_REGION + use_path_stype: (optional) default false . The S3 SDK uses the virtual-hosted style by default. However, some object storage systems may not be enabled or support virtual-hosted style access. At this time, we can add the use_path_style parameter to force the use of path style access method. ``` + > Note that to use the `delete_existing_files` parameter, you also need to add the configuration `enable_delete_existing_files = true` to the fe.conf file and restart the FE. Only then will the `delete_existing_files` parameter take effect. Setting `delete_existing_files = true` is a dangerous operation and it is recommended to only use it in a testing environment. + ### example 1. Use the broker method to export, and export the simple query results to the file `hdfs://path/to/result.txt`. Specifies that the export format is CSV. Use `my_broker` and set kerberos authentication information. Specify the column separator as `,` and the row separator as `\n`. diff --git a/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Manipulation/EXPORT.md b/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Manipulation/EXPORT.md index a64e0034ee..e23f18b565 100644 --- a/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Manipulation/EXPORT.md +++ b/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/Manipulation/EXPORT.md @@ -39,9 +39,10 @@ EXPORT ```sql EXPORT TABLE table_name [PARTITION (p1[,p2])] +[WHERE] TO export_path [opt_properties] -WITH BROKER +WITH BROKER/S3/HDFS [broker_properties]; ``` @@ -57,7 +58,7 @@ WITH BROKER - `export_path` - 导出的路径,需为目录。 + 导出的文件路径。可以是目录,也可以是文件目录加文件前缀,如`hdfs://path/to/my_file_` - `opt_properties` @@ -69,110 +70,163 @@ WITH BROKER 可以指定如下参数: + - `label`: 可选参数,指定此次Export任务的label,当不指定时系统会随机给一个label。 - `column_separator`:指定导出的列分隔符,默认为\t。仅支持单字节。 - `line_delimiter`:指定导出的行分隔符,默认为\n。仅支持单字节。 - - `exec_mem_limit`:导出在单个 BE 节点的内存使用上限,默认为 2GB,单位为字节。 + - `columns`:指定导出作业表的某些列。 - `timeout`:导出作业的超时时间,默认为2小时,单位是秒。 - - `tablet_num_per_task`:每个子任务能分配扫描的最大 Tablet 数量。 + - `format`:导出作业的文件格式,支持:parquet, orc, csv, csv_with_names、csv_with_names_and_types。 默认为csv格式。 + - `max_file_size`:导出作业单个文件大小限制,如果结果超过这个值,将切割成多个文件。 + - `delete_existing_files`: 默认为false,若指定为true,则会先删除`export_path`所指定目录下的所有文件,然后导出数据到该目录下。例如:"export_path" = "/user/tmp", 则会删除"/user/"下所有文件及目录;"file_path" = "/user/tmp/", 则会删除"/user/tmp/"下所有文件及目录。 + + > 注意:要使用delete_existing_files参数,还需要在fe.conf中添加配置`enable_delete_existing_files = true`并重启fe,此时delete_existing_files才会生效。delete_existing_files = true 是一个危险的操作,建议只在测试环境中使用。 + + - `WITH BROKER` - 导出功能需要通过 Broker 进程写数据到远端存储上。这里需要定义相关的连接信息供 Broker 使用。 + 可以通过 Broker 进程写数据到远端存储上。这里需要定义相关的连接信息供 Broker 使用。 ```sql - WITH BROKER hdfs|s3 ("key"="value"[,...]) + 语法: + WITH BROKER "broker_name" + ("key"="value"[,...]) + + Broker相关属性: + username: 用户名 + password: 密码 + hadoop.security.authentication: 指定认证方式为 kerberos + kerberos_principal: 指定 kerberos 的 principal + kerberos_keytab: 指定 kerberos 的 keytab 文件路径。该文件必须为 Broker 进程所在服务器上的文件的绝对路径。并且可以被 Broker 进程访问 ``` -​ 1. 如果导出是到 Amazon S3,需要提供一下属性 -``` -fs.s3a.access.key:AmazonS3的access key -fs.s3a.secret.key:AmazonS3的secret key -fs.s3a.endpoint:AmazonS3的endpoint -``` -​ 2. 如果使用S3协议直接连接远程存储时需要指定如下属性 +- `WITH HDFS` - ( - "AWS_ENDPOINT" = "", - "AWS_ACCESS_KEY" = "", - "AWS_SECRET_KEY"="", - "AWS_REGION" = "" - ) + 可以直接将数据写到远端HDFS上。 + + ```sql + 语法: + WITH HDFS ("key"="value"[,...]) + + HDFS 相关属性: + fs.defaultFS: namenode 地址和端口 + hadoop.username: hdfs 用户名 + dfs.nameservices: name service名称,与hdfs-site.xml保持一致 + dfs.ha.namenodes.[nameservice ID]: namenode的id列表,与hdfs-site.xml保持一致 + dfs.namenode.rpc-address.[nameservice ID].[name node ID]: Name node的rpc地址,数量与namenode数量相同,与hdfs-site.xml保 + + 对于开启kerberos认证的Hadoop 集群,还需要额外设置如下 PROPERTIES 属性: + dfs.namenode.kerberos.principal: HDFS namenode 服务的 principal 名称 + hadoop.security.authentication: 认证方式设置为 kerberos + hadoop.kerberos.principal: 设置 Doris 连接 HDFS 时使用的 Kerberos 主体 + hadoop.kerberos.keytab: 设置 keytab 本地文件路径 + ``` + +- `WITH S3` + + 可以直接将数据写到远端S3对象存储上。 + + ```sql + 语法: + WITH S3 ("key"="value"[,...]) + + S3 相关属性: + AWS_ENDPOINT + AWS_ACCESS_KEY + AWS_SECRET_KEY + AWS_REGION + use_path_stype: (选填) 默认为false 。S3 SDK 默认使用 virtual-hosted style 方式。但某些对象存储系统可能没开启或不支持virtual-hosted style 方式的访问,此时可以添加 use_path_style 参数来强制使用 path style 访问方式。 + ``` ### Example -1. 将 test 表中的所有数据导出到 hdfs 上 +#### export数据到本地 +export数据到本地文件系统,需要在fe.conf中添加`enable_outfile_to_local=true`并且重启FE。 +1. 将test表中的所有数据导出到本地存储, 默认导出csv格式文件 ```sql -EXPORT TABLE test TO "hdfs://hdfs_host:port/a/b/c" -WITH BROKER "broker_name" -( - "username"="xxx", - "password"="yyy" -); +EXPORT TABLE test TO "file:///home/user/tmp/"; ``` -2. 将 testTbl 表中的分区p1,p2导出到 hdfs 上 - +2. 将test表中的k1,k2列导出到本地存储, 默认导出csv文件格式,并设置label ```sql -EXPORT TABLE testTbl PARTITION (p1,p2) TO "hdfs://hdfs_host:port/a/b/c" -WITH BROKER "broker_name" -( - "username"="xxx", - "password"="yyy" -); -``` - -3. 将 testTbl 表中的所有数据导出到 hdfs 上,以","作为列分隔符,并指定label - -```sql -EXPORT TABLE testTbl TO "hdfs://hdfs_host:port/a/b/c" -PROPERTIES ("label" = "mylabel", "column_separator"=",") -WITH BROKER "broker_name" -( - "username"="xxx", - "password"="yyy" -); -``` - -4. 将 testTbl 表中 k1 = 1 的行导出到 hdfs 上。 - -```sql -EXPORT TABLE testTbl WHERE k1=1 TO "hdfs://hdfs_host:port/a/b/c" -WITH BROKER "broker_name" -( - "username"="xxx", - "password"="yyy" -); -``` - -5. 将 testTbl 表中的所有数据导出到本地。 - -```sql -EXPORT TABLE testTbl TO "file:///home/data/a"; -``` - -6. 将 testTbl 表中的所有数据导出到 hdfs 上,以不可见字符 "\x07" 作为列或者行分隔符。 - -```sql -EXPORT TABLE testTbl TO "hdfs://hdfs_host:port/a/b/c" +EXPORT TABLE test TO "file:///home/user/tmp/" PROPERTIES ( - "column_separator"="\\x07", - "line_delimiter" = "\\x07" -) -WITH BROKER "broker_name" -( - "username"="xxx", - "password"="yyy" -) + "label" = "label1", + "columns" = "k1,k2" +); ``` -7. 将 testTbl 表的 k1, v1 列导出到本地。 - +3. 将test表中的 `k1 < 50` 的行导出到本地存储, 默认导出csv格式文件,并以`,`作为列分割符 ```sql -EXPORT TABLE testTbl TO "file:///home/data/a" PROPERTIES ("columns" = "k1,v1"); +EXPORT TABLE test WHERE k1 < 50 TO "file:///home/user/tmp/" +PROPERTIES ( + "columns" = "k1,k2", + "column_separator"="," +); ``` +4. 将 test 表中的分区p1,p2导出到本地存储, 默认导出csv格式文件 +```sql +EXPORT TABLE test PARTITION (p1,p2) TO "file:///home/user/tmp/" +PROPERTIES ("columns" = "k1,k2"); +``` + +5. 将test表中的所有数据导出到本地存储,导出其他格式的文件 +```sql +// parquet格式 +EXPORT TABLE test TO "file:///home/user/tmp/" +PROPERTIES ( + "columns" = "k1,k2", + "format" = "parquet" +); + +// orc格式 +EXPORT TABLE test TO "file:///home/user/tmp/" +PROPERTIES ( + "columns" = "k1,k2", + "format" = "orc" +); + +// csv_with_names格式, 以’AA‘为列分割符,‘zz’为行分割符 +EXPORT TABLE test TO "file:///home/user/tmp/" +PROPERTIES ( + "format" = "csv_with_names", + "column_separator"="AA", + "line_delimiter" = "zz" +); + +// csv_with_names_and_types格式 +EXPORT TABLE test TO "file:///home/user/tmp/" +PROPERTIES ( + "format" = "csv_with_names_and_types" +); +``` + +6. 设置max_file_sizes属性 +```sql +EXPORT TABLE test TO "file:///home/user/tmp/" +PROPERTIES ( + "format" = "parquet", + "max_file_size" = "5MB" +); +``` +当导出文件大于5MB时,将切割数据为多个文件,每个文件最大为5MB。 + +7. 设置delete_existing_files属性 +```sql +EXPORT TABLE test TO "file:///home/user/tmp" +PROPERTIES ( + "format" = "parquet", + "max_file_size" = "5MB", + "delete_existing_files" = "true" +); +``` +Export导出数据时会先将`/home/user/`目录下所有文件及目录删除,然后导出数据到该目录下。 + +#### export with S3 + 8. 将 testTbl 表中的所有数据导出到 s3 上,以不可见字符 "\x07" 作为列或者行分隔符。 ```sql @@ -188,18 +242,59 @@ PROPERTIES ( ) ``` -9. 将 testTbl 表中的所有数据导出到 cos(腾讯云) 上。 +#### export with HDFS +```sql +EXPORT TABLE test TO "hdfs://hdfs_host:port/a/b/c/" +PROPERTIES( + "format" = "parquet", + "max_file_size" = "1024MB", + "delete_existing_files" = "false" +) +with HDFS ( +"fs.defaultFS"="hdfs://hdfs_host:port", +"hadoop.username" = "hadoop" +); +``` + +#### export with Broker +需要先启动broker进程,并在FE中添加该broker。 +1. 将 test 表中的所有数据导出到 hdfs 上 +```sql +EXPORT TABLE test TO "hdfs://hdfs_host:port/a/b/c" +WITH BROKER "broker_name" +( + "username"="xxx", + "password"="yyy" +); +``` + +2. 将 testTbl 表中的分区p1,p2导出到 hdfs 上,以","作为列分隔符,并指定label ```sql -EXPORT TABLE testTbl TO "cosn://my_bucket/export/a/b/c" +EXPORT TABLE testTbl PARTITION (p1,p2) TO "hdfs://hdfs_host:port/a/b/c" PROPERTIES ( - "column_separator"=",", - "line_delimiter" = "\n" -) WITH BROKER "broker_name" + "label" = "mylabel", + "column_separator"="," +) +WITH BROKER "broker_name" ( - "fs.cosn.userinfo.secretId" = "xxx", - "fs.cosn.userinfo.secretKey" = "xxxx", - "fs.cosn.bucket.endpoint_suffix" = "cos.xxxxxxxxx.myqcloud.com" + "username"="xxx", + "password"="yyy" +); +``` + +3. 将 testTbl 表中的所有数据导出到 hdfs 上,以不可见字符 "\x07" 作为列或者行分隔符。 + +```sql +EXPORT TABLE testTbl TO "hdfs://hdfs_host:port/a/b/c" +PROPERTIES ( + "column_separator"="\\x07", + "line_delimiter" = "\\x07" +) +WITH BROKER "broker_name" +( + "username"="xxx", + "password"="yyy" ) ``` diff --git a/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/OUTFILE.md b/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/OUTFILE.md index e52ad79832..38e37d0f35 100644 --- a/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/OUTFILE.md +++ b/docs/zh-CN/docs/sql-manual/sql-reference/Data-Manipulation-Statements/OUTFILE.md @@ -46,6 +46,7 @@ INTO OUTFILE "file_path" 说明: 1. file_path + 文件存储的路径及文件前缀。 ``` file_path 指向文件存储的路径以及文件前缀。如 `hdfs://path/to/my_file_`。 @@ -55,6 +56,7 @@ INTO OUTFILE "file_path" my_file_abcdefg_1.csv my_file_abcdegf_2.csv ``` + 也可以省略文件前缀,只指定文件目录,如`hdfs://path/to/` 2. format_as @@ -74,38 +76,43 @@ INTO OUTFILE "file_path" 语法: [PROPERTIES ("key"="value", ...)] 支持如下属性: - column_separator: 列分隔符。支持多字节分隔符,如:"\\x01", "abc" - line_delimiter: 行分隔符。支持多字节分隔符,如:"\\x01", "abc" - max_file_size: 单个文件大小限制,如果结果超过这个值,将切割成多个文件。 + + 文件相关的属性 + column_separator: 列分隔符。支持多字节分隔符,如:"\\x01", "abc" + line_delimiter: 行分隔符。支持多字节分隔符,如:"\\x01", "abc" + max_file_size: 单个文件大小限制,如果结果超过这个值,将切割成多个文件。 + delete_existing_files: 默认为false,若指定为true,则会先删除file_path指定的目录下的所有文件,然后导出数据到该目录下。例如:"file_path" = "/user/tmp", 则会删除"/user/"下所有文件及目录;"file_path" = "/user/tmp/", 则会删除"/user/tmp/"下所有文件及目录 Broker 相关属性需加前缀 `broker.`: - broker.name: broker名称 - broker.hadoop.security.authentication: 指定认证方式为 kerberos - broker.kerberos_principal: 指定 kerberos 的 principal - broker.kerberos_keytab: 指定 kerberos 的 keytab 文件路径。该文件必须为 Broker 进程所在服务器上的文件的绝对路径。并且可以被 Broker 进程访问 + broker.name: broker名称 + broker.hadoop.security.authentication: 指定认证方式为 kerberos + broker.kerberos_principal: 指定 kerberos 的 principal + broker.kerberos_keytab: 指定 kerberos 的 keytab 文件路径。该文件必须为 Broker 进程所在服务器上的文件的绝对路径。并且可以被 Broker 进程访问 HDFS 相关属性: - fs.defaultFS: namenode 地址和端口 - hadoop.username: hdfs 用户名 - dfs.nameservices: name service名称,与hdfs-site.xml保持一致 - dfs.ha.namenodes.[nameservice ID]: namenode的id列表,与hdfs-site.xml保持一致 - dfs.namenode.rpc-address.[nameservice ID].[name node ID]: Name node的rpc地址,数量与namenode数量相同,与hdfs-site.xml保持一致 - dfs.client.failover.proxy.provider.[nameservice ID]: HDFS客户端连接活跃namenode的java类,通常是"org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider" + fs.defaultFS: namenode 地址和端口 + hadoop.username: hdfs 用户名 + dfs.nameservices: name service名称,与hdfs-site.xml保持一致 + dfs.ha.namenodes.[nameservice ID]: namenode的id列表,与hdfs-site.xml保持一致 + dfs.namenode.rpc-address.[nameservice ID].[name node ID]: Name node的rpc地址,数量与namenode数量相同,与hdfs-site.xml保持一致 + dfs.client.failover.proxy.provider.[nameservice ID]: HDFS客户端连接活跃namenode的java类,通常是"org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider" - 对于开启kerberos认证的Hadoop 集群,还需要额外设置如下 PROPERTIES 属性: - dfs.namenode.kerberos.principal: HDFS namenode 服务的 principal 名称 - hadoop.security.authentication: 认证方式设置为 kerberos - hadoop.kerberos.principal: 设置 Doris 连接 HDFS 时使用的 Kerberos 主体 - hadoop.kerberos.keytab: 设置 keytab 本地文件路径 + 对于开启kerberos认证的Hadoop 集群,还需要额外设置如下 PROPERTIES 属性: + dfs.namenode.kerberos.principal: HDFS namenode 服务的 principal 名称 + hadoop.security.authentication: 认证方式设置为 kerberos + hadoop.kerberos.principal: 设置 Doris 连接 HDFS 时使用的 Kerberos 主体 + hadoop.kerberos.keytab: 设置 keytab 本地文件路径 S3 协议则直接执行 S3 协议配置即可: - AWS_ENDPOINT - AWS_ACCESS_KEY - AWS_SECRET_KEY - AWS_REGION - use_path_stype: (选填) 默认为false 。S3 SDK 默认使用 virtual-hosted style 方式。但某些对象存储系统可能没开启或不支持virtual-hosted style 方式的访问,此时可以添加 use_path_style 参数来强制使用 path style 访问方式。 + AWS_ENDPOINT + AWS_ACCESS_KEY + AWS_SECRET_KEY + AWS_REGION + use_path_stype: (选填) 默认为false 。S3 SDK 默认使用 virtual-hosted style 方式。但某些对象存储系统可能没开启或不支持virtual-hosted style 方式的访问,此时可以添加 use_path_style 参数来强制使用 path style 访问方式。 ``` + > 注意:要使用delete_existing_files参数,还需要在fe.conf中添加配置`enable_delete_existing_files = true`并重启fe,此时delete_existing_files才会生效。delete_existing_files = true 是一个危险的操作,建议只在测试环境中使用。 + ### example 1. 使用 broker 方式导出,将简单查询结果导出到文件 `hdfs://path/to/result.txt`。指定导出格式为 CSV。使用 `my_broker` 并设置 kerberos 认证信息。指定列分隔符为 `,`,行分隔符为 `\n`。 diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java index 3b3ad137a7..4fd02903da 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java @@ -1923,5 +1923,13 @@ public class Config extends ConfigBase { @ConfField(mutable = true) public static boolean disable_datev1 = true; + + /** + * This config used for export/outfile. + * Whether delete all files in the directory specified by export/outfile. + * It is a very dangerous operation, should only be used in test env. + */ + @ConfField(mutable = false) + public static boolean enable_delete_existing_files = false; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java index c4096a7ffe..16e395b868 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java @@ -81,6 +81,7 @@ public class ExportStmt extends StatementBase { private String label; private String maxFileSize; + private String deleteExistingFiles; private SessionVariable sessionVariables; private String qualifiedUser; @@ -338,6 +339,7 @@ public class ExportStmt extends StatementBase { // max_file_size this.maxFileSize = properties.getOrDefault(OutFileClause.PROP_MAX_FILE_SIZE, ""); + this.deleteExistingFiles = properties.getOrDefault(OutFileClause.PROP_DELETE_EXISTING_FILES, ""); if (properties.containsKey(LABEL)) { FeNameFormat.checkLabel(properties.get(LABEL)); @@ -397,4 +399,8 @@ public class ExportStmt extends StatementBase { public String getMaxFileSize() { return maxFileSize; } + + public String getDeleteExistingFiles() { + return deleteExistingFiles; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/OutFileClause.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/OutFileClause.java index 18aaf722d8..6a17626931 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/OutFileClause.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/OutFileClause.java @@ -130,8 +130,8 @@ public class OutFileClause { public static final String PROP_LINE_DELIMITER = "line_delimiter"; public static final String PROP_MAX_FILE_SIZE = "max_file_size"; private static final String PROP_SUCCESS_FILE_NAME = "success_file_name"; + public static final String PROP_DELETE_EXISTING_FILES = "delete_existing_files"; private static final String PARQUET_PROP_PREFIX = "parquet."; - private static final String ORC_PROP_PREFIX = "orc."; private static final String SCHEMA = "schema"; private static final long DEFAULT_MAX_FILE_SIZE_BYTES = 1 * 1024 * 1024 * 1024; // 1GB @@ -148,6 +148,7 @@ public class OutFileClause { private String lineDelimiter = "\n"; private TFileFormatType fileFormatType; private long maxFileSizeBytes = DEFAULT_MAX_FILE_SIZE_BYTES; + private boolean deleteExistingFiles = false; private BrokerDesc brokerDesc = null; // True if result is written to local disk. // If set to true, the brokerDesc must be null. @@ -597,6 +598,12 @@ public class OutFileClause { processedPropKeys.add(PROP_MAX_FILE_SIZE); } + if (properties.containsKey(PROP_DELETE_EXISTING_FILES)) { + deleteExistingFiles = Boolean.parseBoolean(properties.get(PROP_DELETE_EXISTING_FILES)) + & Config.enable_delete_existing_files; + processedPropKeys.add(PROP_DELETE_EXISTING_FILES); + } + if (properties.containsKey(PROP_SUCCESS_FILE_NAME)) { successFileName = properties.get(PROP_SUCCESS_FILE_NAME); FeNameFormat.checkCommonName("file name", successFileName); @@ -833,6 +840,7 @@ public class OutFileClause { sinkOptions.setLineDelimiter(lineDelimiter); } sinkOptions.setMaxFileSizeBytes(maxFileSizeBytes); + sinkOptions.setDeleteExistingFiles(deleteExistingFiles); if (brokerDesc != null) { sinkOptions.setBrokerProperties(brokerDesc.getProperties()); // broker_addresses of sinkOptions will be set in Coordinator. diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/ExportJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/ExportJob.java index dfd213b047..caa0190fc6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/ExportJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/ExportJob.java @@ -143,6 +143,8 @@ public class ExportJob implements Writable { private int timeoutSecond; @SerializedName("maxFileSize") private String maxFileSize; + @SerializedName("deleteExistingFiles") + private String deleteExistingFiles; // progress has two functions at EXPORTING stage: // 1. when progress < 100, it indicates exporting // 2. set progress = 100 ONLY when exporting progress is completely done @@ -222,6 +224,7 @@ public class ExportJob implements Writable { this.userIdentity = stmt.getUserIdentity(); this.format = stmt.getFormat(); this.maxFileSize = stmt.getMaxFileSize(); + this.deleteExistingFiles = stmt.getDeleteExistingFiles(); this.partitions = stmt.getPartitions(); this.exportTable = db.getTableOrDdlException(stmt.getTblName().getTbl()); @@ -287,6 +290,9 @@ public class ExportJob implements Writable { if (!maxFileSize.isEmpty()) { outfileProperties.put(OutFileClause.PROP_MAX_FILE_SIZE, maxFileSize); } + if (!deleteExistingFiles.isEmpty()) { + outfileProperties.put(OutFileClause.PROP_DELETE_EXISTING_FILES, deleteExistingFiles); + } // broker properties // outfile clause's broker properties need 'broker.' prefix @@ -359,6 +365,10 @@ public class ExportJob implements Writable { return maxFileSize; } + public String getDeleteExistingFiles() { + return deleteExistingFiles; + } + public String getQualifiedUser() { return qualifiedUser; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java b/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java index 43a3e138c0..a81144138e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java @@ -420,6 +420,7 @@ public class ExportMgr extends MasterDaemon { infoMap.put("columns", job.getColumns()); infoMap.put("tablet_num", job.getTabletLocations() == null ? -1 : job.getTabletLocations().size()); infoMap.put("max_file_size", job.getMaxFileSize()); + infoMap.put("delete_existing_files", job.getDeleteExistingFiles()); jobInfo.add(new Gson().toJson(infoMap)); // path jobInfo.add(job.getExportPath()); diff --git a/gensrc/thrift/DataSinks.thrift b/gensrc/thrift/DataSinks.thrift index 6a5a6e1944..eb98a017ea 100644 --- a/gensrc/thrift/DataSinks.thrift +++ b/gensrc/thrift/DataSinks.thrift @@ -101,6 +101,8 @@ struct TResultFileSinkOptions { 13: optional bool parquet_disable_dictionary 14: optional TParquetVersion parquet_version 15: optional string orc_schema + + 16: optional bool delete_existing_files; } struct TMemoryScratchSink { diff --git a/regression-test/conf/regression-conf.groovy b/regression-test/conf/regression-conf.groovy index 665fde59e7..798e86fa14 100644 --- a/regression-test/conf/regression-conf.groovy +++ b/regression-test/conf/regression-conf.groovy @@ -80,7 +80,7 @@ sqlserver_2022_port=1433 clickhouse_22_port=8123 // hive catalog test config -// To enable jdbc test, you need first start hive container. +// To enable hive test, you need first start hive container. // See `docker/thirdparties/start-thirdparties-docker.sh` enableHiveTest=false hms_port=9183 @@ -131,3 +131,6 @@ s3Region = "ap-hongkong" // all following suite will be skipped to fast quit the run. // <=0 means no limit. max_failure_num=0 + +// used for exporting test +s3ExportBucketName = "" diff --git a/regression-test/data/export_p2/test_export_max_file_size.out b/regression-test/data/export_p2/test_export_max_file_size.out new file mode 100644 index 0000000000..8b11e1b7ce --- /dev/null +++ b/regression-test/data/export_p2/test_export_max_file_size.out @@ -0,0 +1,1003 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !select -- +1 2017-10-01 2017-10-01T00:00 Beijing 1 1 true 1 1 1 1.1 1.1 char1 1 +10 2017-10-01 2017-10-01T00:00 Beijing 10 10 true 10 10 10 10.1 10.1 char10 10 +100 2017-10-01 2017-10-01T00:00 Beijing 100 100 true 100 100 100 100.1 100.1 char100 100 +1000 2017-10-01 2017-10-01T00:00 Beijing 1000 104 true 1000 1000 1000 1000.1 1000.1 char1000 1000 +101 2017-10-01 2017-10-01T00:00 Beijing 101 101 true 101 101 101 101.101 101.101 char101 101 +102 2017-10-01 2017-10-01T00:00 Beijing 102 102 true 102 102 102 102.102 102.102 char102 102 +103 2017-10-01 2017-10-01T00:00 Beijing 103 103 true 103 103 103 103.103 103.103 char103 103 +104 2017-10-01 2017-10-01T00:00 Beijing 104 104 true 104 104 104 104.104 104.104 char104 104 +105 2017-10-01 2017-10-01T00:00 Beijing 105 105 true 105 105 105 105.105 105.105 char105 105 +106 2017-10-01 2017-10-01T00:00 Beijing 106 106 true 106 106 106 106.106 106.106 char106 106 +107 2017-10-01 2017-10-01T00:00 Beijing 107 107 true 107 107 107 107.107 107.107 char107 107 +108 2017-10-01 2017-10-01T00:00 Beijing 108 108 true 108 108 108 108.108 108.108 char108 108 +109 2017-10-01 2017-10-01T00:00 Beijing 109 109 true 109 109 109 109.109 109.109 char109 109 +11 2017-10-01 2017-10-01T00:00 Beijing 11 11 true 11 11 11 11.11 11.11 char11 11 +110 2017-10-01 2017-10-01T00:00 Beijing 110 110 true 110 110 110 110.11 110.11 char110 110 +111 2017-10-01 2017-10-01T00:00 Beijing 111 111 true 111 111 111 111.111 111.111 char111 111 +112 2017-10-01 2017-10-01T00:00 Beijing 112 112 true 112 112 112 112.112 112.112 char112 112 +113 2017-10-01 2017-10-01T00:00 Beijing 113 113 true 113 113 113 113.113 113.113 char113 113 +114 2017-10-01 2017-10-01T00:00 Beijing 114 114 true 114 114 114 114.114 114.114 char114 114 +115 2017-10-01 2017-10-01T00:00 Beijing 115 115 true 115 115 115 115.115 115.115 char115 115 +116 2017-10-01 2017-10-01T00:00 Beijing 116 116 true 116 116 116 116.116 116.116 char116 116 +117 2017-10-01 2017-10-01T00:00 Beijing 117 117 true 117 117 117 117.117 117.117 char117 117 +118 2017-10-01 2017-10-01T00:00 Beijing 118 118 true 118 118 118 118.118 118.118 char118 118 +119 2017-10-01 2017-10-01T00:00 Beijing 119 119 true 119 119 119 119.119 119.119 char119 119 +12 2017-10-01 2017-10-01T00:00 Beijing 12 12 true 12 12 12 12.12 12.12 char12 12 +120 2017-10-01 2017-10-01T00:00 Beijing 120 120 true 120 120 120 120.12 120.12 char120 120 +121 2017-10-01 2017-10-01T00:00 Beijing 121 121 true 121 121 121 121.121 121.121 char121 121 +122 2017-10-01 2017-10-01T00:00 Beijing 122 122 true 122 122 122 122.122 122.122 char122 122 +123 2017-10-01 2017-10-01T00:00 Beijing 123 123 true 123 123 123 123.123 123.123 char123 123 +124 2017-10-01 2017-10-01T00:00 Beijing 124 124 true 124 124 124 124.124 124.124 char124 124 +125 2017-10-01 2017-10-01T00:00 Beijing 125 125 true 125 125 125 125.125 125.125 char125 125 +126 2017-10-01 2017-10-01T00:00 Beijing 126 126 true 126 126 126 126.126 126.126 char126 126 +127 2017-10-01 2017-10-01T00:00 Beijing 127 127 true 127 127 127 127.127 127.127 char127 127 +128 2017-10-01 2017-10-01T00:00 Beijing 128 0 true 128 128 128 128.128 128.128 char128 128 +129 2017-10-01 2017-10-01T00:00 Beijing 129 1 true 129 129 129 129.129 129.129 char129 129 +13 2017-10-01 2017-10-01T00:00 Beijing 13 13 true 13 13 13 13.13 13.13 char13 13 +130 2017-10-01 2017-10-01T00:00 Beijing 130 2 true 130 130 130 130.13 130.13 char130 130 +131 2017-10-01 2017-10-01T00:00 Beijing 131 3 true 131 131 131 131.131 131.131 char131 131 +132 2017-10-01 2017-10-01T00:00 Beijing 132 4 true 132 132 132 132.132 132.132 char132 132 +133 2017-10-01 2017-10-01T00:00 Beijing 133 5 true 133 133 133 133.133 133.133 char133 133 +134 2017-10-01 2017-10-01T00:00 Beijing 134 6 true 134 134 134 134.134 134.134 char134 134 +135 2017-10-01 2017-10-01T00:00 Beijing 135 7 true 135 135 135 135.135 135.135 char135 135 +136 2017-10-01 2017-10-01T00:00 Beijing 136 8 true 136 136 136 136.136 136.136 char136 136 +137 2017-10-01 2017-10-01T00:00 Beijing 137 9 true 137 137 137 137.137 137.137 char137 137 +138 2017-10-01 2017-10-01T00:00 Beijing 138 10 true 138 138 138 138.138 138.138 char138 138 +139 2017-10-01 2017-10-01T00:00 Beijing 139 11 true 139 139 139 139.139 139.139 char139 139 +14 2017-10-01 2017-10-01T00:00 Beijing 14 14 true 14 14 14 14.14 14.14 char14 14 +140 2017-10-01 2017-10-01T00:00 Beijing 140 12 true 140 140 140 140.14 140.14 char140 140 +141 2017-10-01 2017-10-01T00:00 Beijing 141 13 true 141 141 141 141.141 141.141 char141 141 +142 2017-10-01 2017-10-01T00:00 Beijing 142 14 true 142 142 142 142.142 142.142 char142 142 +143 2017-10-01 2017-10-01T00:00 Beijing 143 15 true 143 143 143 143.143 143.143 char143 143 +144 2017-10-01 2017-10-01T00:00 Beijing 144 16 true 144 144 144 144.144 144.144 char144 144 +145 2017-10-01 2017-10-01T00:00 Beijing 145 17 true 145 145 145 145.145 145.145 char145 145 +146 2017-10-01 2017-10-01T00:00 Beijing 146 18 true 146 146 146 146.146 146.146 char146 146 +147 2017-10-01 2017-10-01T00:00 Beijing 147 19 true 147 147 147 147.147 147.147 char147 147 +148 2017-10-01 2017-10-01T00:00 Beijing 148 20 true 148 148 148 148.148 148.148 char148 148 +149 2017-10-01 2017-10-01T00:00 Beijing 149 21 true 149 149 149 149.149 149.149 char149 149 +15 2017-10-01 2017-10-01T00:00 Beijing 15 15 true 15 15 15 15.15 15.15 char15 15 +150 2017-10-01 2017-10-01T00:00 Beijing 150 22 true 150 150 150 150.15 150.15 char150 150 +151 2017-10-01 2017-10-01T00:00 Beijing 151 23 true 151 151 151 151.151 151.151 char151 151 +152 2017-10-01 2017-10-01T00:00 Beijing 152 24 true 152 152 152 152.152 152.152 char152 152 +153 2017-10-01 2017-10-01T00:00 Beijing 153 25 true 153 153 153 153.153 153.153 char153 153 +154 2017-10-01 2017-10-01T00:00 Beijing 154 26 true 154 154 154 154.154 154.154 char154 154 +155 2017-10-01 2017-10-01T00:00 Beijing 155 27 true 155 155 155 155.155 155.155 char155 155 +156 2017-10-01 2017-10-01T00:00 Beijing 156 28 true 156 156 156 156.156 156.156 char156 156 +157 2017-10-01 2017-10-01T00:00 Beijing 157 29 true 157 157 157 157.157 157.157 char157 157 +158 2017-10-01 2017-10-01T00:00 Beijing 158 30 true 158 158 158 158.158 158.158 char158 158 +159 2017-10-01 2017-10-01T00:00 Beijing 159 31 true 159 159 159 159.159 159.159 char159 159 +16 2017-10-01 2017-10-01T00:00 Beijing 16 16 true 16 16 16 16.16 16.16 char16 16 +160 2017-10-01 2017-10-01T00:00 Beijing 160 32 true 160 160 160 160.16 160.16 char160 160 +161 2017-10-01 2017-10-01T00:00 Beijing 161 33 true 161 161 161 161.161 161.161 char161 161 +162 2017-10-01 2017-10-01T00:00 Beijing 162 34 true 162 162 162 162.162 162.162 char162 162 +163 2017-10-01 2017-10-01T00:00 Beijing 163 35 true 163 163 163 163.163 163.163 char163 163 +164 2017-10-01 2017-10-01T00:00 Beijing 164 36 true 164 164 164 164.164 164.164 char164 164 +165 2017-10-01 2017-10-01T00:00 Beijing 165 37 true 165 165 165 165.165 165.165 char165 165 +166 2017-10-01 2017-10-01T00:00 Beijing 166 38 true 166 166 166 166.166 166.166 char166 166 +167 2017-10-01 2017-10-01T00:00 Beijing 167 39 true 167 167 167 167.167 167.167 char167 167 +168 2017-10-01 2017-10-01T00:00 Beijing 168 40 true 168 168 168 168.168 168.168 char168 168 +169 2017-10-01 2017-10-01T00:00 Beijing 169 41 true 169 169 169 169.169 169.169 char169 169 +17 2017-10-01 2017-10-01T00:00 Beijing 17 17 true 17 17 17 17.17 17.17 char17 17 +170 2017-10-01 2017-10-01T00:00 Beijing 170 42 true 170 170 170 170.17 170.17 char170 170 +171 2017-10-01 2017-10-01T00:00 Beijing 171 43 true 171 171 171 171.171 171.171 char171 171 +172 2017-10-01 2017-10-01T00:00 Beijing 172 44 true 172 172 172 172.172 172.172 char172 172 +173 2017-10-01 2017-10-01T00:00 Beijing 173 45 true 173 173 173 173.173 173.173 char173 173 +174 2017-10-01 2017-10-01T00:00 Beijing 174 46 true 174 174 174 174.174 174.174 char174 174 +175 2017-10-01 2017-10-01T00:00 Beijing 175 47 true 175 175 175 175.175 175.175 char175 175 +176 2017-10-01 2017-10-01T00:00 Beijing 176 48 true 176 176 176 176.176 176.176 char176 176 +177 2017-10-01 2017-10-01T00:00 Beijing 177 49 true 177 177 177 177.177 177.177 char177 177 +178 2017-10-01 2017-10-01T00:00 Beijing 178 50 true 178 178 178 178.178 178.178 char178 178 +179 2017-10-01 2017-10-01T00:00 Beijing 179 51 true 179 179 179 179.179 179.179 char179 179 +18 2017-10-01 2017-10-01T00:00 Beijing 18 18 true 18 18 18 18.18 18.18 char18 18 +180 2017-10-01 2017-10-01T00:00 Beijing 180 52 true 180 180 180 180.18 180.18 char180 180 +181 2017-10-01 2017-10-01T00:00 Beijing 181 53 true 181 181 181 181.181 181.181 char181 181 +182 2017-10-01 2017-10-01T00:00 Beijing 182 54 true 182 182 182 182.182 182.182 char182 182 +183 2017-10-01 2017-10-01T00:00 Beijing 183 55 true 183 183 183 183.183 183.183 char183 183 +184 2017-10-01 2017-10-01T00:00 Beijing 184 56 true 184 184 184 184.184 184.184 char184 184 +185 2017-10-01 2017-10-01T00:00 Beijing 185 57 true 185 185 185 185.185 185.185 char185 185 +186 2017-10-01 2017-10-01T00:00 Beijing 186 58 true 186 186 186 186.186 186.186 char186 186 +187 2017-10-01 2017-10-01T00:00 Beijing 187 59 true 187 187 187 187.187 187.187 char187 187 +188 2017-10-01 2017-10-01T00:00 Beijing 188 60 true 188 188 188 188.188 188.188 char188 188 +189 2017-10-01 2017-10-01T00:00 Beijing 189 61 true 189 189 189 189.189 189.189 char189 189 +19 2017-10-01 2017-10-01T00:00 Beijing 19 19 true 19 19 19 19.19 19.19 char19 19 +190 2017-10-01 2017-10-01T00:00 Beijing 190 62 true 190 190 190 190.19 190.19 char190 190 +191 2017-10-01 2017-10-01T00:00 Beijing 191 63 true 191 191 191 191.191 191.191 char191 191 +192 2017-10-01 2017-10-01T00:00 Beijing 192 64 true 192 192 192 192.192 192.192 char192 192 +193 2017-10-01 2017-10-01T00:00 Beijing 193 65 true 193 193 193 193.193 193.193 char193 193 +194 2017-10-01 2017-10-01T00:00 Beijing 194 66 true 194 194 194 194.194 194.194 char194 194 +195 2017-10-01 2017-10-01T00:00 Beijing 195 67 true 195 195 195 195.195 195.195 char195 195 +196 2017-10-01 2017-10-01T00:00 Beijing 196 68 true 196 196 196 196.196 196.196 char196 196 +197 2017-10-01 2017-10-01T00:00 Beijing 197 69 true 197 197 197 197.197 197.197 char197 197 +198 2017-10-01 2017-10-01T00:00 Beijing 198 70 true 198 198 198 198.198 198.198 char198 198 +199 2017-10-01 2017-10-01T00:00 Beijing 199 71 true 199 199 199 199.199 199.199 char199 199 +2 2017-10-01 2017-10-01T00:00 Beijing 2 2 true 2 2 2 2.2 2.2 char2 2 +20 2017-10-01 2017-10-01T00:00 Beijing 20 20 true 20 20 20 20.2 20.2 char20 20 +200 2017-10-01 2017-10-01T00:00 Beijing 200 72 true 200 200 200 200.2 200.2 char200 200 +201 2017-10-01 2017-10-01T00:00 Beijing 201 73 true 201 201 201 201.201 201.201 char201 201 +202 2017-10-01 2017-10-01T00:00 Beijing 202 74 true 202 202 202 202.202 202.202 char202 202 +203 2017-10-01 2017-10-01T00:00 Beijing 203 75 true 203 203 203 203.203 203.203 char203 203 +204 2017-10-01 2017-10-01T00:00 Beijing 204 76 true 204 204 204 204.204 204.204 char204 204 +205 2017-10-01 2017-10-01T00:00 Beijing 205 77 true 205 205 205 205.205 205.205 char205 205 +206 2017-10-01 2017-10-01T00:00 Beijing 206 78 true 206 206 206 206.206 206.206 char206 206 +207 2017-10-01 2017-10-01T00:00 Beijing 207 79 true 207 207 207 207.207 207.207 char207 207 +208 2017-10-01 2017-10-01T00:00 Beijing 208 80 true 208 208 208 208.208 208.208 char208 208 +209 2017-10-01 2017-10-01T00:00 Beijing 209 81 true 209 209 209 209.209 209.209 char209 209 +21 2017-10-01 2017-10-01T00:00 Beijing 21 21 true 21 21 21 21.21 21.21 char21 21 +210 2017-10-01 2017-10-01T00:00 Beijing 210 82 true 210 210 210 210.21 210.21 char210 210 +211 2017-10-01 2017-10-01T00:00 Beijing 211 83 true 211 211 211 211.211 211.211 char211 211 +212 2017-10-01 2017-10-01T00:00 Beijing 212 84 true 212 212 212 212.212 212.212 char212 212 +213 2017-10-01 2017-10-01T00:00 Beijing 213 85 true 213 213 213 213.213 213.213 char213 213 +214 2017-10-01 2017-10-01T00:00 Beijing 214 86 true 214 214 214 214.214 214.214 char214 214 +215 2017-10-01 2017-10-01T00:00 Beijing 215 87 true 215 215 215 215.215 215.215 char215 215 +216 2017-10-01 2017-10-01T00:00 Beijing 216 88 true 216 216 216 216.216 216.216 char216 216 +217 2017-10-01 2017-10-01T00:00 Beijing 217 89 true 217 217 217 217.217 217.217 char217 217 +218 2017-10-01 2017-10-01T00:00 Beijing 218 90 true 218 218 218 218.218 218.218 char218 218 +219 2017-10-01 2017-10-01T00:00 Beijing 219 91 true 219 219 219 219.219 219.219 char219 219 +22 2017-10-01 2017-10-01T00:00 Beijing 22 22 true 22 22 22 22.22 22.22 char22 22 +220 2017-10-01 2017-10-01T00:00 Beijing 220 92 true 220 220 220 220.22 220.22 char220 220 +221 2017-10-01 2017-10-01T00:00 Beijing 221 93 true 221 221 221 221.221 221.221 char221 221 +222 2017-10-01 2017-10-01T00:00 Beijing 222 94 true 222 222 222 222.222 222.222 char222 222 +223 2017-10-01 2017-10-01T00:00 Beijing 223 95 true 223 223 223 223.223 223.223 char223 223 +224 2017-10-01 2017-10-01T00:00 Beijing 224 96 true 224 224 224 224.224 224.224 char224 224 +225 2017-10-01 2017-10-01T00:00 Beijing 225 97 true 225 225 225 225.225 225.225 char225 225 +226 2017-10-01 2017-10-01T00:00 Beijing 226 98 true 226 226 226 226.226 226.226 char226 226 +227 2017-10-01 2017-10-01T00:00 Beijing 227 99 true 227 227 227 227.227 227.227 char227 227 +228 2017-10-01 2017-10-01T00:00 Beijing 228 100 true 228 228 228 228.228 228.228 char228 228 +229 2017-10-01 2017-10-01T00:00 Beijing 229 101 true 229 229 229 229.229 229.229 char229 229 +23 2017-10-01 2017-10-01T00:00 Beijing 23 23 true 23 23 23 23.23 23.23 char23 23 +230 2017-10-01 2017-10-01T00:00 Beijing 230 102 true 230 230 230 230.23 230.23 char230 230 +231 2017-10-01 2017-10-01T00:00 Beijing 231 103 true 231 231 231 231.231 231.231 char231 231 +232 2017-10-01 2017-10-01T00:00 Beijing 232 104 true 232 232 232 232.232 232.232 char232 232 +233 2017-10-01 2017-10-01T00:00 Beijing 233 105 true 233 233 233 233.233 233.233 char233 233 +234 2017-10-01 2017-10-01T00:00 Beijing 234 106 true 234 234 234 234.234 234.234 char234 234 +235 2017-10-01 2017-10-01T00:00 Beijing 235 107 true 235 235 235 235.235 235.235 char235 235 +236 2017-10-01 2017-10-01T00:00 Beijing 236 108 true 236 236 236 236.236 236.236 char236 236 +237 2017-10-01 2017-10-01T00:00 Beijing 237 109 true 237 237 237 237.237 237.237 char237 237 +238 2017-10-01 2017-10-01T00:00 Beijing 238 110 true 238 238 238 238.238 238.238 char238 238 +239 2017-10-01 2017-10-01T00:00 Beijing 239 111 true 239 239 239 239.239 239.239 char239 239 +24 2017-10-01 2017-10-01T00:00 Beijing 24 24 true 24 24 24 24.24 24.24 char24 24 +240 2017-10-01 2017-10-01T00:00 Beijing 240 112 true 240 240 240 240.24 240.24 char240 240 +241 2017-10-01 2017-10-01T00:00 Beijing 241 113 true 241 241 241 241.241 241.241 char241 241 +242 2017-10-01 2017-10-01T00:00 Beijing 242 114 true 242 242 242 242.242 242.242 char242 242 +243 2017-10-01 2017-10-01T00:00 Beijing 243 115 true 243 243 243 243.243 243.243 char243 243 +244 2017-10-01 2017-10-01T00:00 Beijing 244 116 true 244 244 244 244.244 244.244 char244 244 +245 2017-10-01 2017-10-01T00:00 Beijing 245 117 true 245 245 245 245.245 245.245 char245 245 +246 2017-10-01 2017-10-01T00:00 Beijing 246 118 true 246 246 246 246.246 246.246 char246 246 +247 2017-10-01 2017-10-01T00:00 Beijing 247 119 true 247 247 247 247.247 247.247 char247 247 +248 2017-10-01 2017-10-01T00:00 Beijing 248 120 true 248 248 248 248.248 248.248 char248 248 +249 2017-10-01 2017-10-01T00:00 Beijing 249 121 true 249 249 249 249.249 249.249 char249 249 +25 2017-10-01 2017-10-01T00:00 Beijing 25 25 true 25 25 25 25.25 25.25 char25 25 +250 2017-10-01 2017-10-01T00:00 Beijing 250 122 true 250 250 250 250.25 250.25 char250 250 +251 2017-10-01 2017-10-01T00:00 Beijing 251 123 true 251 251 251 251.251 251.251 char251 251 +252 2017-10-01 2017-10-01T00:00 Beijing 252 124 true 252 252 252 252.252 252.252 char252 252 +253 2017-10-01 2017-10-01T00:00 Beijing 253 125 true 253 253 253 253.253 253.253 char253 253 +254 2017-10-01 2017-10-01T00:00 Beijing 254 126 true 254 254 254 254.254 254.254 char254 254 +255 2017-10-01 2017-10-01T00:00 Beijing 255 127 true 255 255 255 255.255 255.255 char255 255 +256 2017-10-01 2017-10-01T00:00 Beijing 256 0 true 256 256 256 256.256 256.256 char256 256 +257 2017-10-01 2017-10-01T00:00 Beijing 257 1 true 257 257 257 257.257 257.257 char257 257 +258 2017-10-01 2017-10-01T00:00 Beijing 258 2 true 258 258 258 258.258 258.258 char258 258 +259 2017-10-01 2017-10-01T00:00 Beijing 259 3 true 259 259 259 259.259 259.259 char259 259 +26 2017-10-01 2017-10-01T00:00 Beijing 26 26 true 26 26 26 26.26 26.26 char26 26 +260 2017-10-01 2017-10-01T00:00 Beijing 260 4 true 260 260 260 260.26 260.26 char260 260 +261 2017-10-01 2017-10-01T00:00 Beijing 261 5 true 261 261 261 261.261 261.261 char261 261 +262 2017-10-01 2017-10-01T00:00 Beijing 262 6 true 262 262 262 262.262 262.262 char262 262 +263 2017-10-01 2017-10-01T00:00 Beijing 263 7 true 263 263 263 263.263 263.263 char263 263 +264 2017-10-01 2017-10-01T00:00 Beijing 264 8 true 264 264 264 264.264 264.264 char264 264 +265 2017-10-01 2017-10-01T00:00 Beijing 265 9 true 265 265 265 265.265 265.265 char265 265 +266 2017-10-01 2017-10-01T00:00 Beijing 266 10 true 266 266 266 266.266 266.266 char266 266 +267 2017-10-01 2017-10-01T00:00 Beijing 267 11 true 267 267 267 267.267 267.267 char267 267 +268 2017-10-01 2017-10-01T00:00 Beijing 268 12 true 268 268 268 268.268 268.268 char268 268 +269 2017-10-01 2017-10-01T00:00 Beijing 269 13 true 269 269 269 269.269 269.269 char269 269 +27 2017-10-01 2017-10-01T00:00 Beijing 27 27 true 27 27 27 27.27 27.27 char27 27 +270 2017-10-01 2017-10-01T00:00 Beijing 270 14 true 270 270 270 270.27 270.27 char270 270 +271 2017-10-01 2017-10-01T00:00 Beijing 271 15 true 271 271 271 271.271 271.271 char271 271 +272 2017-10-01 2017-10-01T00:00 Beijing 272 16 true 272 272 272 272.272 272.272 char272 272 +273 2017-10-01 2017-10-01T00:00 Beijing 273 17 true 273 273 273 273.273 273.273 char273 273 +274 2017-10-01 2017-10-01T00:00 Beijing 274 18 true 274 274 274 274.274 274.274 char274 274 +275 2017-10-01 2017-10-01T00:00 Beijing 275 19 true 275 275 275 275.275 275.275 char275 275 +276 2017-10-01 2017-10-01T00:00 Beijing 276 20 true 276 276 276 276.276 276.276 char276 276 +277 2017-10-01 2017-10-01T00:00 Beijing 277 21 true 277 277 277 277.277 277.277 char277 277 +278 2017-10-01 2017-10-01T00:00 Beijing 278 22 true 278 278 278 278.278 278.278 char278 278 +279 2017-10-01 2017-10-01T00:00 Beijing 279 23 true 279 279 279 279.279 279.279 char279 279 +28 2017-10-01 2017-10-01T00:00 Beijing 28 28 true 28 28 28 28.28 28.28 char28 28 +280 2017-10-01 2017-10-01T00:00 Beijing 280 24 true 280 280 280 280.28 280.28 char280 280 +281 2017-10-01 2017-10-01T00:00 Beijing 281 25 true 281 281 281 281.281 281.281 char281 281 +282 2017-10-01 2017-10-01T00:00 Beijing 282 26 true 282 282 282 282.282 282.282 char282 282 +283 2017-10-01 2017-10-01T00:00 Beijing 283 27 true 283 283 283 283.283 283.283 char283 283 +284 2017-10-01 2017-10-01T00:00 Beijing 284 28 true 284 284 284 284.284 284.284 char284 284 +285 2017-10-01 2017-10-01T00:00 Beijing 285 29 true 285 285 285 285.285 285.285 char285 285 +286 2017-10-01 2017-10-01T00:00 Beijing 286 30 true 286 286 286 286.286 286.286 char286 286 +287 2017-10-01 2017-10-01T00:00 Beijing 287 31 true 287 287 287 287.287 287.287 char287 287 +288 2017-10-01 2017-10-01T00:00 Beijing 288 32 true 288 288 288 288.288 288.288 char288 288 +289 2017-10-01 2017-10-01T00:00 Beijing 289 33 true 289 289 289 289.289 289.289 char289 289 +29 2017-10-01 2017-10-01T00:00 Beijing 29 29 true 29 29 29 29.29 29.29 char29 29 +290 2017-10-01 2017-10-01T00:00 Beijing 290 34 true 290 290 290 290.29 290.29 char290 290 +291 2017-10-01 2017-10-01T00:00 Beijing 291 35 true 291 291 291 291.291 291.291 char291 291 +292 2017-10-01 2017-10-01T00:00 Beijing 292 36 true 292 292 292 292.292 292.292 char292 292 +293 2017-10-01 2017-10-01T00:00 Beijing 293 37 true 293 293 293 293.293 293.293 char293 293 +294 2017-10-01 2017-10-01T00:00 Beijing 294 38 true 294 294 294 294.294 294.294 char294 294 +295 2017-10-01 2017-10-01T00:00 Beijing 295 39 true 295 295 295 295.295 295.295 char295 295 +296 2017-10-01 2017-10-01T00:00 Beijing 296 40 true 296 296 296 296.296 296.296 char296 296 +297 2017-10-01 2017-10-01T00:00 Beijing 297 41 true 297 297 297 297.297 297.297 char297 297 +298 2017-10-01 2017-10-01T00:00 Beijing 298 42 true 298 298 298 298.298 298.298 char298 298 +299 2017-10-01 2017-10-01T00:00 Beijing 299 43 true 299 299 299 299.299 299.299 char299 299 +3 2017-10-01 2017-10-01T00:00 Beijing 3 3 true 3 3 3 3.3 3.3 char3 3 +30 2017-10-01 2017-10-01T00:00 Beijing 30 30 true 30 30 30 30.3 30.3 char30 30 +300 2017-10-01 2017-10-01T00:00 Beijing 300 44 true 300 300 300 300.3 300.3 char300 300 +301 2017-10-01 2017-10-01T00:00 Beijing 301 45 true 301 301 301 301.301 301.301 char301 301 +302 2017-10-01 2017-10-01T00:00 Beijing 302 46 true 302 302 302 302.302 302.302 char302 302 +303 2017-10-01 2017-10-01T00:00 Beijing 303 47 true 303 303 303 303.303 303.303 char303 303 +304 2017-10-01 2017-10-01T00:00 Beijing 304 48 true 304 304 304 304.304 304.304 char304 304 +305 2017-10-01 2017-10-01T00:00 Beijing 305 49 true 305 305 305 305.305 305.305 char305 305 +306 2017-10-01 2017-10-01T00:00 Beijing 306 50 true 306 306 306 306.306 306.306 char306 306 +307 2017-10-01 2017-10-01T00:00 Beijing 307 51 true 307 307 307 307.307 307.307 char307 307 +308 2017-10-01 2017-10-01T00:00 Beijing 308 52 true 308 308 308 308.308 308.308 char308 308 +309 2017-10-01 2017-10-01T00:00 Beijing 309 53 true 309 309 309 309.309 309.309 char309 309 +31 2017-10-01 2017-10-01T00:00 Beijing 31 31 true 31 31 31 31.31 31.31 char31 31 +310 2017-10-01 2017-10-01T00:00 Beijing 310 54 true 310 310 310 310.31 310.31 char310 310 +311 2017-10-01 2017-10-01T00:00 Beijing 311 55 true 311 311 311 311.311 311.311 char311 311 +312 2017-10-01 2017-10-01T00:00 Beijing 312 56 true 312 312 312 312.312 312.312 char312 312 +313 2017-10-01 2017-10-01T00:00 Beijing 313 57 true 313 313 313 313.313 313.313 char313 313 +314 2017-10-01 2017-10-01T00:00 Beijing 314 58 true 314 314 314 314.314 314.314 char314 314 +315 2017-10-01 2017-10-01T00:00 Beijing 315 59 true 315 315 315 315.315 315.315 char315 315 +316 2017-10-01 2017-10-01T00:00 Beijing 316 60 true 316 316 316 316.316 316.316 char316 316 +317 2017-10-01 2017-10-01T00:00 Beijing 317 61 true 317 317 317 317.317 317.317 char317 317 +318 2017-10-01 2017-10-01T00:00 Beijing 318 62 true 318 318 318 318.318 318.318 char318 318 +319 2017-10-01 2017-10-01T00:00 Beijing 319 63 true 319 319 319 319.319 319.319 char319 319 +32 2017-10-01 2017-10-01T00:00 Beijing 32 32 true 32 32 32 32.32 32.32 char32 32 +320 2017-10-01 2017-10-01T00:00 Beijing 320 64 true 320 320 320 320.32 320.32 char320 320 +321 2017-10-01 2017-10-01T00:00 Beijing 321 65 true 321 321 321 321.321 321.321 char321 321 +322 2017-10-01 2017-10-01T00:00 Beijing 322 66 true 322 322 322 322.322 322.322 char322 322 +323 2017-10-01 2017-10-01T00:00 Beijing 323 67 true 323 323 323 323.323 323.323 char323 323 +324 2017-10-01 2017-10-01T00:00 Beijing 324 68 true 324 324 324 324.324 324.324 char324 324 +325 2017-10-01 2017-10-01T00:00 Beijing 325 69 true 325 325 325 325.325 325.325 char325 325 +326 2017-10-01 2017-10-01T00:00 Beijing 326 70 true 326 326 326 326.326 326.326 char326 326 +327 2017-10-01 2017-10-01T00:00 Beijing 327 71 true 327 327 327 327.327 327.327 char327 327 +328 2017-10-01 2017-10-01T00:00 Beijing 328 72 true 328 328 328 328.328 328.328 char328 328 +329 2017-10-01 2017-10-01T00:00 Beijing 329 73 true 329 329 329 329.329 329.329 char329 329 +33 2017-10-01 2017-10-01T00:00 Beijing 33 33 true 33 33 33 33.33 33.33 char33 33 +330 2017-10-01 2017-10-01T00:00 Beijing 330 74 true 330 330 330 330.33 330.33 char330 330 +331 2017-10-01 2017-10-01T00:00 Beijing 331 75 true 331 331 331 331.331 331.331 char331 331 +332 2017-10-01 2017-10-01T00:00 Beijing 332 76 true 332 332 332 332.332 332.332 char332 332 +333 2017-10-01 2017-10-01T00:00 Beijing 333 77 true 333 333 333 333.333 333.333 char333 333 +334 2017-10-01 2017-10-01T00:00 Beijing 334 78 true 334 334 334 334.334 334.334 char334 334 +335 2017-10-01 2017-10-01T00:00 Beijing 335 79 true 335 335 335 335.335 335.335 char335 335 +336 2017-10-01 2017-10-01T00:00 Beijing 336 80 true 336 336 336 336.336 336.336 char336 336 +337 2017-10-01 2017-10-01T00:00 Beijing 337 81 true 337 337 337 337.337 337.337 char337 337 +338 2017-10-01 2017-10-01T00:00 Beijing 338 82 true 338 338 338 338.338 338.338 char338 338 +339 2017-10-01 2017-10-01T00:00 Beijing 339 83 true 339 339 339 339.339 339.339 char339 339 +34 2017-10-01 2017-10-01T00:00 Beijing 34 34 true 34 34 34 34.34 34.34 char34 34 +340 2017-10-01 2017-10-01T00:00 Beijing 340 84 true 340 340 340 340.34 340.34 char340 340 +341 2017-10-01 2017-10-01T00:00 Beijing 341 85 true 341 341 341 341.341 341.341 char341 341 +342 2017-10-01 2017-10-01T00:00 Beijing 342 86 true 342 342 342 342.342 342.342 char342 342 +343 2017-10-01 2017-10-01T00:00 Beijing 343 87 true 343 343 343 343.343 343.343 char343 343 +344 2017-10-01 2017-10-01T00:00 Beijing 344 88 true 344 344 344 344.344 344.344 char344 344 +345 2017-10-01 2017-10-01T00:00 Beijing 345 89 true 345 345 345 345.345 345.345 char345 345 +346 2017-10-01 2017-10-01T00:00 Beijing 346 90 true 346 346 346 346.346 346.346 char346 346 +347 2017-10-01 2017-10-01T00:00 Beijing 347 91 true 347 347 347 347.347 347.347 char347 347 +348 2017-10-01 2017-10-01T00:00 Beijing 348 92 true 348 348 348 348.348 348.348 char348 348 +349 2017-10-01 2017-10-01T00:00 Beijing 349 93 true 349 349 349 349.349 349.349 char349 349 +35 2017-10-01 2017-10-01T00:00 Beijing 35 35 true 35 35 35 35.35 35.35 char35 35 +350 2017-10-01 2017-10-01T00:00 Beijing 350 94 true 350 350 350 350.35 350.35 char350 350 +351 2017-10-01 2017-10-01T00:00 Beijing 351 95 true 351 351 351 351.351 351.351 char351 351 +352 2017-10-01 2017-10-01T00:00 Beijing 352 96 true 352 352 352 352.352 352.352 char352 352 +353 2017-10-01 2017-10-01T00:00 Beijing 353 97 true 353 353 353 353.353 353.353 char353 353 +354 2017-10-01 2017-10-01T00:00 Beijing 354 98 true 354 354 354 354.354 354.354 char354 354 +355 2017-10-01 2017-10-01T00:00 Beijing 355 99 true 355 355 355 355.355 355.355 char355 355 +356 2017-10-01 2017-10-01T00:00 Beijing 356 100 true 356 356 356 356.356 356.356 char356 356 +357 2017-10-01 2017-10-01T00:00 Beijing 357 101 true 357 357 357 357.357 357.357 char357 357 +358 2017-10-01 2017-10-01T00:00 Beijing 358 102 true 358 358 358 358.358 358.358 char358 358 +359 2017-10-01 2017-10-01T00:00 Beijing 359 103 true 359 359 359 359.359 359.359 char359 359 +36 2017-10-01 2017-10-01T00:00 Beijing 36 36 true 36 36 36 36.36 36.36 char36 36 +360 2017-10-01 2017-10-01T00:00 Beijing 360 104 true 360 360 360 360.36 360.36 char360 360 +361 2017-10-01 2017-10-01T00:00 Beijing 361 105 true 361 361 361 361.361 361.361 char361 361 +362 2017-10-01 2017-10-01T00:00 Beijing 362 106 true 362 362 362 362.362 362.362 char362 362 +363 2017-10-01 2017-10-01T00:00 Beijing 363 107 true 363 363 363 363.363 363.363 char363 363 +364 2017-10-01 2017-10-01T00:00 Beijing 364 108 true 364 364 364 364.364 364.364 char364 364 +365 2017-10-01 2017-10-01T00:00 Beijing 365 109 true 365 365 365 365.365 365.365 char365 365 +366 2017-10-01 2017-10-01T00:00 Beijing 366 110 true 366 366 366 366.366 366.366 char366 366 +367 2017-10-01 2017-10-01T00:00 Beijing 367 111 true 367 367 367 367.367 367.367 char367 367 +368 2017-10-01 2017-10-01T00:00 Beijing 368 112 true 368 368 368 368.368 368.368 char368 368 +369 2017-10-01 2017-10-01T00:00 Beijing 369 113 true 369 369 369 369.369 369.369 char369 369 +37 2017-10-01 2017-10-01T00:00 Beijing 37 37 true 37 37 37 37.37 37.37 char37 37 +370 2017-10-01 2017-10-01T00:00 Beijing 370 114 true 370 370 370 370.37 370.37 char370 370 +371 2017-10-01 2017-10-01T00:00 Beijing 371 115 true 371 371 371 371.371 371.371 char371 371 +372 2017-10-01 2017-10-01T00:00 Beijing 372 116 true 372 372 372 372.372 372.372 char372 372 +373 2017-10-01 2017-10-01T00:00 Beijing 373 117 true 373 373 373 373.373 373.373 char373 373 +374 2017-10-01 2017-10-01T00:00 Beijing 374 118 true 374 374 374 374.374 374.374 char374 374 +375 2017-10-01 2017-10-01T00:00 Beijing 375 119 true 375 375 375 375.375 375.375 char375 375 +376 2017-10-01 2017-10-01T00:00 Beijing 376 120 true 376 376 376 376.376 376.376 char376 376 +377 2017-10-01 2017-10-01T00:00 Beijing 377 121 true 377 377 377 377.377 377.377 char377 377 +378 2017-10-01 2017-10-01T00:00 Beijing 378 122 true 378 378 378 378.378 378.378 char378 378 +379 2017-10-01 2017-10-01T00:00 Beijing 379 123 true 379 379 379 379.379 379.379 char379 379 +38 2017-10-01 2017-10-01T00:00 Beijing 38 38 true 38 38 38 38.38 38.38 char38 38 +380 2017-10-01 2017-10-01T00:00 Beijing 380 124 true 380 380 380 380.38 380.38 char380 380 +381 2017-10-01 2017-10-01T00:00 Beijing 381 125 true 381 381 381 381.381 381.381 char381 381 +382 2017-10-01 2017-10-01T00:00 Beijing 382 126 true 382 382 382 382.382 382.382 char382 382 +383 2017-10-01 2017-10-01T00:00 Beijing 383 127 true 383 383 383 383.383 383.383 char383 383 +384 2017-10-01 2017-10-01T00:00 Beijing 384 0 true 384 384 384 384.384 384.384 char384 384 +385 2017-10-01 2017-10-01T00:00 Beijing 385 1 true 385 385 385 385.385 385.385 char385 385 +386 2017-10-01 2017-10-01T00:00 Beijing 386 2 true 386 386 386 386.386 386.386 char386 386 +387 2017-10-01 2017-10-01T00:00 Beijing 387 3 true 387 387 387 387.387 387.387 char387 387 +388 2017-10-01 2017-10-01T00:00 Beijing 388 4 true 388 388 388 388.388 388.388 char388 388 +389 2017-10-01 2017-10-01T00:00 Beijing 389 5 true 389 389 389 389.389 389.389 char389 389 +39 2017-10-01 2017-10-01T00:00 Beijing 39 39 true 39 39 39 39.39 39.39 char39 39 +390 2017-10-01 2017-10-01T00:00 Beijing 390 6 true 390 390 390 390.39 390.39 char390 390 +391 2017-10-01 2017-10-01T00:00 Beijing 391 7 true 391 391 391 391.391 391.391 char391 391 +392 2017-10-01 2017-10-01T00:00 Beijing 392 8 true 392 392 392 392.392 392.392 char392 392 +393 2017-10-01 2017-10-01T00:00 Beijing 393 9 true 393 393 393 393.393 393.393 char393 393 +394 2017-10-01 2017-10-01T00:00 Beijing 394 10 true 394 394 394 394.394 394.394 char394 394 +395 2017-10-01 2017-10-01T00:00 Beijing 395 11 true 395 395 395 395.395 395.395 char395 395 +396 2017-10-01 2017-10-01T00:00 Beijing 396 12 true 396 396 396 396.396 396.396 char396 396 +397 2017-10-01 2017-10-01T00:00 Beijing 397 13 true 397 397 397 397.397 397.397 char397 397 +398 2017-10-01 2017-10-01T00:00 Beijing 398 14 true 398 398 398 398.398 398.398 char398 398 +399 2017-10-01 2017-10-01T00:00 Beijing 399 15 true 399 399 399 399.399 399.399 char399 399 +4 2017-10-01 2017-10-01T00:00 Beijing 4 4 true 4 4 4 4.4 4.4 char4 4 +40 2017-10-01 2017-10-01T00:00 Beijing 40 40 true 40 40 40 40.4 40.4 char40 40 +400 2017-10-01 2017-10-01T00:00 Beijing 400 16 true 400 400 400 400.4 400.4 char400 400 +401 2017-10-01 2017-10-01T00:00 Beijing 401 17 true 401 401 401 401.401 401.401 char401 401 +402 2017-10-01 2017-10-01T00:00 Beijing 402 18 true 402 402 402 402.402 402.402 char402 402 +403 2017-10-01 2017-10-01T00:00 Beijing 403 19 true 403 403 403 403.403 403.403 char403 403 +404 2017-10-01 2017-10-01T00:00 Beijing 404 20 true 404 404 404 404.404 404.404 char404 404 +405 2017-10-01 2017-10-01T00:00 Beijing 405 21 true 405 405 405 405.405 405.405 char405 405 +406 2017-10-01 2017-10-01T00:00 Beijing 406 22 true 406 406 406 406.406 406.406 char406 406 +407 2017-10-01 2017-10-01T00:00 Beijing 407 23 true 407 407 407 407.407 407.407 char407 407 +408 2017-10-01 2017-10-01T00:00 Beijing 408 24 true 408 408 408 408.408 408.408 char408 408 +409 2017-10-01 2017-10-01T00:00 Beijing 409 25 true 409 409 409 409.409 409.409 char409 409 +41 2017-10-01 2017-10-01T00:00 Beijing 41 41 true 41 41 41 41.41 41.41 char41 41 +410 2017-10-01 2017-10-01T00:00 Beijing 410 26 true 410 410 410 410.41 410.41 char410 410 +411 2017-10-01 2017-10-01T00:00 Beijing 411 27 true 411 411 411 411.411 411.411 char411 411 +412 2017-10-01 2017-10-01T00:00 Beijing 412 28 true 412 412 412 412.412 412.412 char412 412 +413 2017-10-01 2017-10-01T00:00 Beijing 413 29 true 413 413 413 413.413 413.413 char413 413 +414 2017-10-01 2017-10-01T00:00 Beijing 414 30 true 414 414 414 414.414 414.414 char414 414 +415 2017-10-01 2017-10-01T00:00 Beijing 415 31 true 415 415 415 415.415 415.415 char415 415 +416 2017-10-01 2017-10-01T00:00 Beijing 416 32 true 416 416 416 416.416 416.416 char416 416 +417 2017-10-01 2017-10-01T00:00 Beijing 417 33 true 417 417 417 417.417 417.417 char417 417 +418 2017-10-01 2017-10-01T00:00 Beijing 418 34 true 418 418 418 418.418 418.418 char418 418 +419 2017-10-01 2017-10-01T00:00 Beijing 419 35 true 419 419 419 419.419 419.419 char419 419 +42 2017-10-01 2017-10-01T00:00 Beijing 42 42 true 42 42 42 42.42 42.42 char42 42 +420 2017-10-01 2017-10-01T00:00 Beijing 420 36 true 420 420 420 420.42 420.42 char420 420 +421 2017-10-01 2017-10-01T00:00 Beijing 421 37 true 421 421 421 421.421 421.421 char421 421 +422 2017-10-01 2017-10-01T00:00 Beijing 422 38 true 422 422 422 422.422 422.422 char422 422 +423 2017-10-01 2017-10-01T00:00 Beijing 423 39 true 423 423 423 423.423 423.423 char423 423 +424 2017-10-01 2017-10-01T00:00 Beijing 424 40 true 424 424 424 424.424 424.424 char424 424 +425 2017-10-01 2017-10-01T00:00 Beijing 425 41 true 425 425 425 425.425 425.425 char425 425 +426 2017-10-01 2017-10-01T00:00 Beijing 426 42 true 426 426 426 426.426 426.426 char426 426 +427 2017-10-01 2017-10-01T00:00 Beijing 427 43 true 427 427 427 427.427 427.427 char427 427 +428 2017-10-01 2017-10-01T00:00 Beijing 428 44 true 428 428 428 428.428 428.428 char428 428 +429 2017-10-01 2017-10-01T00:00 Beijing 429 45 true 429 429 429 429.429 429.429 char429 429 +43 2017-10-01 2017-10-01T00:00 Beijing 43 43 true 43 43 43 43.43 43.43 char43 43 +430 2017-10-01 2017-10-01T00:00 Beijing 430 46 true 430 430 430 430.43 430.43 char430 430 +431 2017-10-01 2017-10-01T00:00 Beijing 431 47 true 431 431 431 431.431 431.431 char431 431 +432 2017-10-01 2017-10-01T00:00 Beijing 432 48 true 432 432 432 432.432 432.432 char432 432 +433 2017-10-01 2017-10-01T00:00 Beijing 433 49 true 433 433 433 433.433 433.433 char433 433 +434 2017-10-01 2017-10-01T00:00 Beijing 434 50 true 434 434 434 434.434 434.434 char434 434 +435 2017-10-01 2017-10-01T00:00 Beijing 435 51 true 435 435 435 435.435 435.435 char435 435 +436 2017-10-01 2017-10-01T00:00 Beijing 436 52 true 436 436 436 436.436 436.436 char436 436 +437 2017-10-01 2017-10-01T00:00 Beijing 437 53 true 437 437 437 437.437 437.437 char437 437 +438 2017-10-01 2017-10-01T00:00 Beijing 438 54 true 438 438 438 438.438 438.438 char438 438 +439 2017-10-01 2017-10-01T00:00 Beijing 439 55 true 439 439 439 439.439 439.439 char439 439 +44 2017-10-01 2017-10-01T00:00 Beijing 44 44 true 44 44 44 44.44 44.44 char44 44 +440 2017-10-01 2017-10-01T00:00 Beijing 440 56 true 440 440 440 440.44 440.44 char440 440 +441 2017-10-01 2017-10-01T00:00 Beijing 441 57 true 441 441 441 441.441 441.441 char441 441 +442 2017-10-01 2017-10-01T00:00 Beijing 442 58 true 442 442 442 442.442 442.442 char442 442 +443 2017-10-01 2017-10-01T00:00 Beijing 443 59 true 443 443 443 443.443 443.443 char443 443 +444 2017-10-01 2017-10-01T00:00 Beijing 444 60 true 444 444 444 444.444 444.444 char444 444 +445 2017-10-01 2017-10-01T00:00 Beijing 445 61 true 445 445 445 445.445 445.445 char445 445 +446 2017-10-01 2017-10-01T00:00 Beijing 446 62 true 446 446 446 446.446 446.446 char446 446 +447 2017-10-01 2017-10-01T00:00 Beijing 447 63 true 447 447 447 447.447 447.447 char447 447 +448 2017-10-01 2017-10-01T00:00 Beijing 448 64 true 448 448 448 448.448 448.448 char448 448 +449 2017-10-01 2017-10-01T00:00 Beijing 449 65 true 449 449 449 449.449 449.449 char449 449 +45 2017-10-01 2017-10-01T00:00 Beijing 45 45 true 45 45 45 45.45 45.45 char45 45 +450 2017-10-01 2017-10-01T00:00 Beijing 450 66 true 450 450 450 450.45 450.45 char450 450 +451 2017-10-01 2017-10-01T00:00 Beijing 451 67 true 451 451 451 451.451 451.451 char451 451 +452 2017-10-01 2017-10-01T00:00 Beijing 452 68 true 452 452 452 452.452 452.452 char452 452 +453 2017-10-01 2017-10-01T00:00 Beijing 453 69 true 453 453 453 453.453 453.453 char453 453 +454 2017-10-01 2017-10-01T00:00 Beijing 454 70 true 454 454 454 454.454 454.454 char454 454 +455 2017-10-01 2017-10-01T00:00 Beijing 455 71 true 455 455 455 455.455 455.455 char455 455 +456 2017-10-01 2017-10-01T00:00 Beijing 456 72 true 456 456 456 456.456 456.456 char456 456 +457 2017-10-01 2017-10-01T00:00 Beijing 457 73 true 457 457 457 457.457 457.457 char457 457 +458 2017-10-01 2017-10-01T00:00 Beijing 458 74 true 458 458 458 458.458 458.458 char458 458 +459 2017-10-01 2017-10-01T00:00 Beijing 459 75 true 459 459 459 459.459 459.459 char459 459 +46 2017-10-01 2017-10-01T00:00 Beijing 46 46 true 46 46 46 46.46 46.46 char46 46 +460 2017-10-01 2017-10-01T00:00 Beijing 460 76 true 460 460 460 460.46 460.46 char460 460 +461 2017-10-01 2017-10-01T00:00 Beijing 461 77 true 461 461 461 461.461 461.461 char461 461 +462 2017-10-01 2017-10-01T00:00 Beijing 462 78 true 462 462 462 462.462 462.462 char462 462 +463 2017-10-01 2017-10-01T00:00 Beijing 463 79 true 463 463 463 463.463 463.463 char463 463 +464 2017-10-01 2017-10-01T00:00 Beijing 464 80 true 464 464 464 464.464 464.464 char464 464 +465 2017-10-01 2017-10-01T00:00 Beijing 465 81 true 465 465 465 465.465 465.465 char465 465 +466 2017-10-01 2017-10-01T00:00 Beijing 466 82 true 466 466 466 466.466 466.466 char466 466 +467 2017-10-01 2017-10-01T00:00 Beijing 467 83 true 467 467 467 467.467 467.467 char467 467 +468 2017-10-01 2017-10-01T00:00 Beijing 468 84 true 468 468 468 468.468 468.468 char468 468 +469 2017-10-01 2017-10-01T00:00 Beijing 469 85 true 469 469 469 469.469 469.469 char469 469 +47 2017-10-01 2017-10-01T00:00 Beijing 47 47 true 47 47 47 47.47 47.47 char47 47 +470 2017-10-01 2017-10-01T00:00 Beijing 470 86 true 470 470 470 470.47 470.47 char470 470 +471 2017-10-01 2017-10-01T00:00 Beijing 471 87 true 471 471 471 471.471 471.471 char471 471 +472 2017-10-01 2017-10-01T00:00 Beijing 472 88 true 472 472 472 472.472 472.472 char472 472 +473 2017-10-01 2017-10-01T00:00 Beijing 473 89 true 473 473 473 473.473 473.473 char473 473 +474 2017-10-01 2017-10-01T00:00 Beijing 474 90 true 474 474 474 474.474 474.474 char474 474 +475 2017-10-01 2017-10-01T00:00 Beijing 475 91 true 475 475 475 475.475 475.475 char475 475 +476 2017-10-01 2017-10-01T00:00 Beijing 476 92 true 476 476 476 476.476 476.476 char476 476 +477 2017-10-01 2017-10-01T00:00 Beijing 477 93 true 477 477 477 477.477 477.477 char477 477 +478 2017-10-01 2017-10-01T00:00 Beijing 478 94 true 478 478 478 478.478 478.478 char478 478 +479 2017-10-01 2017-10-01T00:00 Beijing 479 95 true 479 479 479 479.479 479.479 char479 479 +48 2017-10-01 2017-10-01T00:00 Beijing 48 48 true 48 48 48 48.48 48.48 char48 48 +480 2017-10-01 2017-10-01T00:00 Beijing 480 96 true 480 480 480 480.48 480.48 char480 480 +481 2017-10-01 2017-10-01T00:00 Beijing 481 97 true 481 481 481 481.481 481.481 char481 481 +482 2017-10-01 2017-10-01T00:00 Beijing 482 98 true 482 482 482 482.482 482.482 char482 482 +483 2017-10-01 2017-10-01T00:00 Beijing 483 99 true 483 483 483 483.483 483.483 char483 483 +484 2017-10-01 2017-10-01T00:00 Beijing 484 100 true 484 484 484 484.484 484.484 char484 484 +485 2017-10-01 2017-10-01T00:00 Beijing 485 101 true 485 485 485 485.485 485.485 char485 485 +486 2017-10-01 2017-10-01T00:00 Beijing 486 102 true 486 486 486 486.486 486.486 char486 486 +487 2017-10-01 2017-10-01T00:00 Beijing 487 103 true 487 487 487 487.487 487.487 char487 487 +488 2017-10-01 2017-10-01T00:00 Beijing 488 104 true 488 488 488 488.488 488.488 char488 488 +489 2017-10-01 2017-10-01T00:00 Beijing 489 105 true 489 489 489 489.489 489.489 char489 489 +49 2017-10-01 2017-10-01T00:00 Beijing 49 49 true 49 49 49 49.49 49.49 char49 49 +490 2017-10-01 2017-10-01T00:00 Beijing 490 106 true 490 490 490 490.49 490.49 char490 490 +491 2017-10-01 2017-10-01T00:00 Beijing 491 107 true 491 491 491 491.491 491.491 char491 491 +492 2017-10-01 2017-10-01T00:00 Beijing 492 108 true 492 492 492 492.492 492.492 char492 492 +493 2017-10-01 2017-10-01T00:00 Beijing 493 109 true 493 493 493 493.493 493.493 char493 493 +494 2017-10-01 2017-10-01T00:00 Beijing 494 110 true 494 494 494 494.494 494.494 char494 494 +495 2017-10-01 2017-10-01T00:00 Beijing 495 111 true 495 495 495 495.495 495.495 char495 495 +496 2017-10-01 2017-10-01T00:00 Beijing 496 112 true 496 496 496 496.496 496.496 char496 496 +497 2017-10-01 2017-10-01T00:00 Beijing 497 113 true 497 497 497 497.497 497.497 char497 497 +498 2017-10-01 2017-10-01T00:00 Beijing 498 114 true 498 498 498 498.498 498.498 char498 498 +499 2017-10-01 2017-10-01T00:00 Beijing 499 115 true 499 499 499 499.499 499.499 char499 499 +5 2017-10-01 2017-10-01T00:00 Beijing 5 5 true 5 5 5 5.5 5.5 char5 5 +50 2017-10-01 2017-10-01T00:00 Beijing 50 50 true 50 50 50 50.5 50.5 char50 50 +500 2017-10-01 2017-10-01T00:00 Beijing 500 116 true 500 500 500 500.5 500.5 char500 500 +501 2017-10-01 2017-10-01T00:00 Beijing 501 117 true 501 501 501 501.501 501.501 char501 501 +502 2017-10-01 2017-10-01T00:00 Beijing 502 118 true 502 502 502 502.502 502.502 char502 502 +503 2017-10-01 2017-10-01T00:00 Beijing 503 119 true 503 503 503 503.503 503.503 char503 503 +504 2017-10-01 2017-10-01T00:00 Beijing 504 120 true 504 504 504 504.504 504.504 char504 504 +505 2017-10-01 2017-10-01T00:00 Beijing 505 121 true 505 505 505 505.505 505.505 char505 505 +506 2017-10-01 2017-10-01T00:00 Beijing 506 122 true 506 506 506 506.506 506.506 char506 506 +507 2017-10-01 2017-10-01T00:00 Beijing 507 123 true 507 507 507 507.507 507.507 char507 507 +508 2017-10-01 2017-10-01T00:00 Beijing 508 124 true 508 508 508 508.508 508.508 char508 508 +509 2017-10-01 2017-10-01T00:00 Beijing 509 125 true 509 509 509 509.509 509.509 char509 509 +51 2017-10-01 2017-10-01T00:00 Beijing 51 51 true 51 51 51 51.51 51.51 char51 51 +510 2017-10-01 2017-10-01T00:00 Beijing 510 126 true 510 510 510 510.51 510.51 char510 510 +511 2017-10-01 2017-10-01T00:00 Beijing 511 127 true 511 511 511 511.511 511.511 char511 511 +512 2017-10-01 2017-10-01T00:00 Beijing 512 0 true 512 512 512 512.512 512.512 char512 512 +513 2017-10-01 2017-10-01T00:00 Beijing 513 1 true 513 513 513 513.513 513.513 char513 513 +514 2017-10-01 2017-10-01T00:00 Beijing 514 2 true 514 514 514 514.514 514.514 char514 514 +515 2017-10-01 2017-10-01T00:00 Beijing 515 3 true 515 515 515 515.515 515.515 char515 515 +516 2017-10-01 2017-10-01T00:00 Beijing 516 4 true 516 516 516 516.516 516.516 char516 516 +517 2017-10-01 2017-10-01T00:00 Beijing 517 5 true 517 517 517 517.517 517.517 char517 517 +518 2017-10-01 2017-10-01T00:00 Beijing 518 6 true 518 518 518 518.518 518.518 char518 518 +519 2017-10-01 2017-10-01T00:00 Beijing 519 7 true 519 519 519 519.519 519.519 char519 519 +52 2017-10-01 2017-10-01T00:00 Beijing 52 52 true 52 52 52 52.52 52.52 char52 52 +520 2017-10-01 2017-10-01T00:00 Beijing 520 8 true 520 520 520 520.52 520.52 char520 520 +521 2017-10-01 2017-10-01T00:00 Beijing 521 9 true 521 521 521 521.521 521.521 char521 521 +522 2017-10-01 2017-10-01T00:00 Beijing 522 10 true 522 522 522 522.522 522.522 char522 522 +523 2017-10-01 2017-10-01T00:00 Beijing 523 11 true 523 523 523 523.523 523.523 char523 523 +524 2017-10-01 2017-10-01T00:00 Beijing 524 12 true 524 524 524 524.524 524.524 char524 524 +525 2017-10-01 2017-10-01T00:00 Beijing 525 13 true 525 525 525 525.525 525.525 char525 525 +526 2017-10-01 2017-10-01T00:00 Beijing 526 14 true 526 526 526 526.526 526.526 char526 526 +527 2017-10-01 2017-10-01T00:00 Beijing 527 15 true 527 527 527 527.527 527.527 char527 527 +528 2017-10-01 2017-10-01T00:00 Beijing 528 16 true 528 528 528 528.528 528.528 char528 528 +529 2017-10-01 2017-10-01T00:00 Beijing 529 17 true 529 529 529 529.529 529.529 char529 529 +53 2017-10-01 2017-10-01T00:00 Beijing 53 53 true 53 53 53 53.53 53.53 char53 53 +530 2017-10-01 2017-10-01T00:00 Beijing 530 18 true 530 530 530 530.53 530.53 char530 530 +531 2017-10-01 2017-10-01T00:00 Beijing 531 19 true 531 531 531 531.531 531.531 char531 531 +532 2017-10-01 2017-10-01T00:00 Beijing 532 20 true 532 532 532 532.532 532.532 char532 532 +533 2017-10-01 2017-10-01T00:00 Beijing 533 21 true 533 533 533 533.533 533.533 char533 533 +534 2017-10-01 2017-10-01T00:00 Beijing 534 22 true 534 534 534 534.534 534.534 char534 534 +535 2017-10-01 2017-10-01T00:00 Beijing 535 23 true 535 535 535 535.535 535.535 char535 535 +536 2017-10-01 2017-10-01T00:00 Beijing 536 24 true 536 536 536 536.536 536.536 char536 536 +537 2017-10-01 2017-10-01T00:00 Beijing 537 25 true 537 537 537 537.537 537.537 char537 537 +538 2017-10-01 2017-10-01T00:00 Beijing 538 26 true 538 538 538 538.538 538.538 char538 538 +539 2017-10-01 2017-10-01T00:00 Beijing 539 27 true 539 539 539 539.539 539.539 char539 539 +54 2017-10-01 2017-10-01T00:00 Beijing 54 54 true 54 54 54 54.54 54.54 char54 54 +540 2017-10-01 2017-10-01T00:00 Beijing 540 28 true 540 540 540 540.54 540.54 char540 540 +541 2017-10-01 2017-10-01T00:00 Beijing 541 29 true 541 541 541 541.541 541.541 char541 541 +542 2017-10-01 2017-10-01T00:00 Beijing 542 30 true 542 542 542 542.542 542.542 char542 542 +543 2017-10-01 2017-10-01T00:00 Beijing 543 31 true 543 543 543 543.543 543.543 char543 543 +544 2017-10-01 2017-10-01T00:00 Beijing 544 32 true 544 544 544 544.544 544.544 char544 544 +545 2017-10-01 2017-10-01T00:00 Beijing 545 33 true 545 545 545 545.545 545.545 char545 545 +546 2017-10-01 2017-10-01T00:00 Beijing 546 34 true 546 546 546 546.546 546.546 char546 546 +547 2017-10-01 2017-10-01T00:00 Beijing 547 35 true 547 547 547 547.547 547.547 char547 547 +548 2017-10-01 2017-10-01T00:00 Beijing 548 36 true 548 548 548 548.548 548.548 char548 548 +549 2017-10-01 2017-10-01T00:00 Beijing 549 37 true 549 549 549 549.549 549.549 char549 549 +55 2017-10-01 2017-10-01T00:00 Beijing 55 55 true 55 55 55 55.55 55.55 char55 55 +550 2017-10-01 2017-10-01T00:00 Beijing 550 38 true 550 550 550 550.55 550.55 char550 550 +551 2017-10-01 2017-10-01T00:00 Beijing 551 39 true 551 551 551 551.551 551.551 char551 551 +552 2017-10-01 2017-10-01T00:00 Beijing 552 40 true 552 552 552 552.552 552.552 char552 552 +553 2017-10-01 2017-10-01T00:00 Beijing 553 41 true 553 553 553 553.553 553.553 char553 553 +554 2017-10-01 2017-10-01T00:00 Beijing 554 42 true 554 554 554 554.554 554.554 char554 554 +555 2017-10-01 2017-10-01T00:00 Beijing 555 43 true 555 555 555 555.555 555.555 char555 555 +556 2017-10-01 2017-10-01T00:00 Beijing 556 44 true 556 556 556 556.556 556.556 char556 556 +557 2017-10-01 2017-10-01T00:00 Beijing 557 45 true 557 557 557 557.557 557.557 char557 557 +558 2017-10-01 2017-10-01T00:00 Beijing 558 46 true 558 558 558 558.558 558.558 char558 558 +559 2017-10-01 2017-10-01T00:00 Beijing 559 47 true 559 559 559 559.559 559.559 char559 559 +56 2017-10-01 2017-10-01T00:00 Beijing 56 56 true 56 56 56 56.56 56.56 char56 56 +560 2017-10-01 2017-10-01T00:00 Beijing 560 48 true 560 560 560 560.56 560.56 char560 560 +561 2017-10-01 2017-10-01T00:00 Beijing 561 49 true 561 561 561 561.561 561.561 char561 561 +562 2017-10-01 2017-10-01T00:00 Beijing 562 50 true 562 562 562 562.562 562.562 char562 562 +563 2017-10-01 2017-10-01T00:00 Beijing 563 51 true 563 563 563 563.563 563.563 char563 563 +564 2017-10-01 2017-10-01T00:00 Beijing 564 52 true 564 564 564 564.564 564.564 char564 564 +565 2017-10-01 2017-10-01T00:00 Beijing 565 53 true 565 565 565 565.565 565.565 char565 565 +566 2017-10-01 2017-10-01T00:00 Beijing 566 54 true 566 566 566 566.566 566.566 char566 566 +567 2017-10-01 2017-10-01T00:00 Beijing 567 55 true 567 567 567 567.567 567.567 char567 567 +568 2017-10-01 2017-10-01T00:00 Beijing 568 56 true 568 568 568 568.568 568.568 char568 568 +569 2017-10-01 2017-10-01T00:00 Beijing 569 57 true 569 569 569 569.569 569.569 char569 569 +57 2017-10-01 2017-10-01T00:00 Beijing 57 57 true 57 57 57 57.57 57.57 char57 57 +570 2017-10-01 2017-10-01T00:00 Beijing 570 58 true 570 570 570 570.57 570.57 char570 570 +571 2017-10-01 2017-10-01T00:00 Beijing 571 59 true 571 571 571 571.571 571.571 char571 571 +572 2017-10-01 2017-10-01T00:00 Beijing 572 60 true 572 572 572 572.572 572.572 char572 572 +573 2017-10-01 2017-10-01T00:00 Beijing 573 61 true 573 573 573 573.573 573.573 char573 573 +574 2017-10-01 2017-10-01T00:00 Beijing 574 62 true 574 574 574 574.574 574.574 char574 574 +575 2017-10-01 2017-10-01T00:00 Beijing 575 63 true 575 575 575 575.575 575.575 char575 575 +576 2017-10-01 2017-10-01T00:00 Beijing 576 64 true 576 576 576 576.576 576.576 char576 576 +577 2017-10-01 2017-10-01T00:00 Beijing 577 65 true 577 577 577 577.577 577.577 char577 577 +578 2017-10-01 2017-10-01T00:00 Beijing 578 66 true 578 578 578 578.578 578.578 char578 578 +579 2017-10-01 2017-10-01T00:00 Beijing 579 67 true 579 579 579 579.579 579.579 char579 579 +58 2017-10-01 2017-10-01T00:00 Beijing 58 58 true 58 58 58 58.58 58.58 char58 58 +580 2017-10-01 2017-10-01T00:00 Beijing 580 68 true 580 580 580 580.58 580.58 char580 580 +581 2017-10-01 2017-10-01T00:00 Beijing 581 69 true 581 581 581 581.581 581.581 char581 581 +582 2017-10-01 2017-10-01T00:00 Beijing 582 70 true 582 582 582 582.582 582.582 char582 582 +583 2017-10-01 2017-10-01T00:00 Beijing 583 71 true 583 583 583 583.583 583.583 char583 583 +584 2017-10-01 2017-10-01T00:00 Beijing 584 72 true 584 584 584 584.584 584.584 char584 584 +585 2017-10-01 2017-10-01T00:00 Beijing 585 73 true 585 585 585 585.585 585.585 char585 585 +586 2017-10-01 2017-10-01T00:00 Beijing 586 74 true 586 586 586 586.586 586.586 char586 586 +587 2017-10-01 2017-10-01T00:00 Beijing 587 75 true 587 587 587 587.587 587.587 char587 587 +588 2017-10-01 2017-10-01T00:00 Beijing 588 76 true 588 588 588 588.588 588.588 char588 588 +589 2017-10-01 2017-10-01T00:00 Beijing 589 77 true 589 589 589 589.589 589.589 char589 589 +59 2017-10-01 2017-10-01T00:00 Beijing 59 59 true 59 59 59 59.59 59.59 char59 59 +590 2017-10-01 2017-10-01T00:00 Beijing 590 78 true 590 590 590 590.59 590.59 char590 590 +591 2017-10-01 2017-10-01T00:00 Beijing 591 79 true 591 591 591 591.591 591.591 char591 591 +592 2017-10-01 2017-10-01T00:00 Beijing 592 80 true 592 592 592 592.592 592.592 char592 592 +593 2017-10-01 2017-10-01T00:00 Beijing 593 81 true 593 593 593 593.593 593.593 char593 593 +594 2017-10-01 2017-10-01T00:00 Beijing 594 82 true 594 594 594 594.594 594.594 char594 594 +595 2017-10-01 2017-10-01T00:00 Beijing 595 83 true 595 595 595 595.595 595.595 char595 595 +596 2017-10-01 2017-10-01T00:00 Beijing 596 84 true 596 596 596 596.596 596.596 char596 596 +597 2017-10-01 2017-10-01T00:00 Beijing 597 85 true 597 597 597 597.597 597.597 char597 597 +598 2017-10-01 2017-10-01T00:00 Beijing 598 86 true 598 598 598 598.598 598.598 char598 598 +599 2017-10-01 2017-10-01T00:00 Beijing 599 87 true 599 599 599 599.599 599.599 char599 599 +6 2017-10-01 2017-10-01T00:00 Beijing 6 6 true 6 6 6 6.6 6.6 char6 6 +60 2017-10-01 2017-10-01T00:00 Beijing 60 60 true 60 60 60 60.6 60.6 char60 60 +600 2017-10-01 2017-10-01T00:00 Beijing 600 88 true 600 600 600 600.6 600.6 char600 600 +601 2017-10-01 2017-10-01T00:00 Beijing 601 89 true 601 601 601 601.601 601.601 char601 601 +602 2017-10-01 2017-10-01T00:00 Beijing 602 90 true 602 602 602 602.602 602.602 char602 602 +603 2017-10-01 2017-10-01T00:00 Beijing 603 91 true 603 603 603 603.603 603.603 char603 603 +604 2017-10-01 2017-10-01T00:00 Beijing 604 92 true 604 604 604 604.604 604.604 char604 604 +605 2017-10-01 2017-10-01T00:00 Beijing 605 93 true 605 605 605 605.605 605.605 char605 605 +606 2017-10-01 2017-10-01T00:00 Beijing 606 94 true 606 606 606 606.606 606.606 char606 606 +607 2017-10-01 2017-10-01T00:00 Beijing 607 95 true 607 607 607 607.607 607.607 char607 607 +608 2017-10-01 2017-10-01T00:00 Beijing 608 96 true 608 608 608 608.608 608.608 char608 608 +609 2017-10-01 2017-10-01T00:00 Beijing 609 97 true 609 609 609 609.609 609.609 char609 609 +61 2017-10-01 2017-10-01T00:00 Beijing 61 61 true 61 61 61 61.61 61.61 char61 61 +610 2017-10-01 2017-10-01T00:00 Beijing 610 98 true 610 610 610 610.61 610.61 char610 610 +611 2017-10-01 2017-10-01T00:00 Beijing 611 99 true 611 611 611 611.611 611.611 char611 611 +612 2017-10-01 2017-10-01T00:00 Beijing 612 100 true 612 612 612 612.612 612.612 char612 612 +613 2017-10-01 2017-10-01T00:00 Beijing 613 101 true 613 613 613 613.613 613.613 char613 613 +614 2017-10-01 2017-10-01T00:00 Beijing 614 102 true 614 614 614 614.614 614.614 char614 614 +615 2017-10-01 2017-10-01T00:00 Beijing 615 103 true 615 615 615 615.615 615.615 char615 615 +616 2017-10-01 2017-10-01T00:00 Beijing 616 104 true 616 616 616 616.616 616.616 char616 616 +617 2017-10-01 2017-10-01T00:00 Beijing 617 105 true 617 617 617 617.617 617.617 char617 617 +618 2017-10-01 2017-10-01T00:00 Beijing 618 106 true 618 618 618 618.618 618.618 char618 618 +619 2017-10-01 2017-10-01T00:00 Beijing 619 107 true 619 619 619 619.619 619.619 char619 619 +62 2017-10-01 2017-10-01T00:00 Beijing 62 62 true 62 62 62 62.62 62.62 char62 62 +620 2017-10-01 2017-10-01T00:00 Beijing 620 108 true 620 620 620 620.62 620.62 char620 620 +621 2017-10-01 2017-10-01T00:00 Beijing 621 109 true 621 621 621 621.621 621.621 char621 621 +622 2017-10-01 2017-10-01T00:00 Beijing 622 110 true 622 622 622 622.622 622.622 char622 622 +623 2017-10-01 2017-10-01T00:00 Beijing 623 111 true 623 623 623 623.623 623.623 char623 623 +624 2017-10-01 2017-10-01T00:00 Beijing 624 112 true 624 624 624 624.624 624.624 char624 624 +625 2017-10-01 2017-10-01T00:00 Beijing 625 113 true 625 625 625 625.625 625.625 char625 625 +626 2017-10-01 2017-10-01T00:00 Beijing 626 114 true 626 626 626 626.626 626.626 char626 626 +627 2017-10-01 2017-10-01T00:00 Beijing 627 115 true 627 627 627 627.627 627.627 char627 627 +628 2017-10-01 2017-10-01T00:00 Beijing 628 116 true 628 628 628 628.628 628.628 char628 628 +629 2017-10-01 2017-10-01T00:00 Beijing 629 117 true 629 629 629 629.629 629.629 char629 629 +63 2017-10-01 2017-10-01T00:00 Beijing 63 63 true 63 63 63 63.63 63.63 char63 63 +630 2017-10-01 2017-10-01T00:00 Beijing 630 118 true 630 630 630 630.63 630.63 char630 630 +631 2017-10-01 2017-10-01T00:00 Beijing 631 119 true 631 631 631 631.631 631.631 char631 631 +632 2017-10-01 2017-10-01T00:00 Beijing 632 120 true 632 632 632 632.632 632.632 char632 632 +633 2017-10-01 2017-10-01T00:00 Beijing 633 121 true 633 633 633 633.633 633.633 char633 633 +634 2017-10-01 2017-10-01T00:00 Beijing 634 122 true 634 634 634 634.634 634.634 char634 634 +635 2017-10-01 2017-10-01T00:00 Beijing 635 123 true 635 635 635 635.635 635.635 char635 635 +636 2017-10-01 2017-10-01T00:00 Beijing 636 124 true 636 636 636 636.636 636.636 char636 636 +637 2017-10-01 2017-10-01T00:00 Beijing 637 125 true 637 637 637 637.637 637.637 char637 637 +638 2017-10-01 2017-10-01T00:00 Beijing 638 126 true 638 638 638 638.638 638.638 char638 638 +639 2017-10-01 2017-10-01T00:00 Beijing 639 127 true 639 639 639 639.639 639.639 char639 639 +64 2017-10-01 2017-10-01T00:00 Beijing 64 64 true 64 64 64 64.64 64.64 char64 64 +640 2017-10-01 2017-10-01T00:00 Beijing 640 0 true 640 640 640 640.64 640.64 char640 640 +641 2017-10-01 2017-10-01T00:00 Beijing 641 1 true 641 641 641 641.641 641.641 char641 641 +642 2017-10-01 2017-10-01T00:00 Beijing 642 2 true 642 642 642 642.642 642.642 char642 642 +643 2017-10-01 2017-10-01T00:00 Beijing 643 3 true 643 643 643 643.643 643.643 char643 643 +644 2017-10-01 2017-10-01T00:00 Beijing 644 4 true 644 644 644 644.644 644.644 char644 644 +645 2017-10-01 2017-10-01T00:00 Beijing 645 5 true 645 645 645 645.645 645.645 char645 645 +646 2017-10-01 2017-10-01T00:00 Beijing 646 6 true 646 646 646 646.646 646.646 char646 646 +647 2017-10-01 2017-10-01T00:00 Beijing 647 7 true 647 647 647 647.647 647.647 char647 647 +648 2017-10-01 2017-10-01T00:00 Beijing 648 8 true 648 648 648 648.648 648.648 char648 648 +649 2017-10-01 2017-10-01T00:00 Beijing 649 9 true 649 649 649 649.649 649.649 char649 649 +65 2017-10-01 2017-10-01T00:00 Beijing 65 65 true 65 65 65 65.65 65.65 char65 65 +650 2017-10-01 2017-10-01T00:00 Beijing 650 10 true 650 650 650 650.65 650.65 char650 650 +651 2017-10-01 2017-10-01T00:00 Beijing 651 11 true 651 651 651 651.651 651.651 char651 651 +652 2017-10-01 2017-10-01T00:00 Beijing 652 12 true 652 652 652 652.652 652.652 char652 652 +653 2017-10-01 2017-10-01T00:00 Beijing 653 13 true 653 653 653 653.653 653.653 char653 653 +654 2017-10-01 2017-10-01T00:00 Beijing 654 14 true 654 654 654 654.654 654.654 char654 654 +655 2017-10-01 2017-10-01T00:00 Beijing 655 15 true 655 655 655 655.655 655.655 char655 655 +656 2017-10-01 2017-10-01T00:00 Beijing 656 16 true 656 656 656 656.656 656.656 char656 656 +657 2017-10-01 2017-10-01T00:00 Beijing 657 17 true 657 657 657 657.657 657.657 char657 657 +658 2017-10-01 2017-10-01T00:00 Beijing 658 18 true 658 658 658 658.658 658.658 char658 658 +659 2017-10-01 2017-10-01T00:00 Beijing 659 19 true 659 659 659 659.659 659.659 char659 659 +66 2017-10-01 2017-10-01T00:00 Beijing 66 66 true 66 66 66 66.66 66.66 char66 66 +660 2017-10-01 2017-10-01T00:00 Beijing 660 20 true 660 660 660 660.66 660.66 char660 660 +661 2017-10-01 2017-10-01T00:00 Beijing 661 21 true 661 661 661 661.661 661.661 char661 661 +662 2017-10-01 2017-10-01T00:00 Beijing 662 22 true 662 662 662 662.662 662.662 char662 662 +663 2017-10-01 2017-10-01T00:00 Beijing 663 23 true 663 663 663 663.663 663.663 char663 663 +664 2017-10-01 2017-10-01T00:00 Beijing 664 24 true 664 664 664 664.664 664.664 char664 664 +665 2017-10-01 2017-10-01T00:00 Beijing 665 25 true 665 665 665 665.665 665.665 char665 665 +666 2017-10-01 2017-10-01T00:00 Beijing 666 26 true 666 666 666 666.666 666.666 char666 666 +667 2017-10-01 2017-10-01T00:00 Beijing 667 27 true 667 667 667 667.667 667.667 char667 667 +668 2017-10-01 2017-10-01T00:00 Beijing 668 28 true 668 668 668 668.668 668.668 char668 668 +669 2017-10-01 2017-10-01T00:00 Beijing 669 29 true 669 669 669 669.669 669.669 char669 669 +67 2017-10-01 2017-10-01T00:00 Beijing 67 67 true 67 67 67 67.67 67.67 char67 67 +670 2017-10-01 2017-10-01T00:00 Beijing 670 30 true 670 670 670 670.67 670.67 char670 670 +671 2017-10-01 2017-10-01T00:00 Beijing 671 31 true 671 671 671 671.671 671.671 char671 671 +672 2017-10-01 2017-10-01T00:00 Beijing 672 32 true 672 672 672 672.672 672.672 char672 672 +673 2017-10-01 2017-10-01T00:00 Beijing 673 33 true 673 673 673 673.673 673.673 char673 673 +674 2017-10-01 2017-10-01T00:00 Beijing 674 34 true 674 674 674 674.674 674.674 char674 674 +675 2017-10-01 2017-10-01T00:00 Beijing 675 35 true 675 675 675 675.675 675.675 char675 675 +676 2017-10-01 2017-10-01T00:00 Beijing 676 36 true 676 676 676 676.676 676.676 char676 676 +677 2017-10-01 2017-10-01T00:00 Beijing 677 37 true 677 677 677 677.677 677.677 char677 677 +678 2017-10-01 2017-10-01T00:00 Beijing 678 38 true 678 678 678 678.678 678.678 char678 678 +679 2017-10-01 2017-10-01T00:00 Beijing 679 39 true 679 679 679 679.679 679.679 char679 679 +68 2017-10-01 2017-10-01T00:00 Beijing 68 68 true 68 68 68 68.68 68.68 char68 68 +680 2017-10-01 2017-10-01T00:00 Beijing 680 40 true 680 680 680 680.68 680.68 char680 680 +681 2017-10-01 2017-10-01T00:00 Beijing 681 41 true 681 681 681 681.681 681.681 char681 681 +682 2017-10-01 2017-10-01T00:00 Beijing 682 42 true 682 682 682 682.682 682.682 char682 682 +683 2017-10-01 2017-10-01T00:00 Beijing 683 43 true 683 683 683 683.683 683.683 char683 683 +684 2017-10-01 2017-10-01T00:00 Beijing 684 44 true 684 684 684 684.684 684.684 char684 684 +685 2017-10-01 2017-10-01T00:00 Beijing 685 45 true 685 685 685 685.685 685.685 char685 685 +686 2017-10-01 2017-10-01T00:00 Beijing 686 46 true 686 686 686 686.686 686.686 char686 686 +687 2017-10-01 2017-10-01T00:00 Beijing 687 47 true 687 687 687 687.687 687.687 char687 687 +688 2017-10-01 2017-10-01T00:00 Beijing 688 48 true 688 688 688 688.688 688.688 char688 688 +689 2017-10-01 2017-10-01T00:00 Beijing 689 49 true 689 689 689 689.689 689.689 char689 689 +69 2017-10-01 2017-10-01T00:00 Beijing 69 69 true 69 69 69 69.69 69.69 char69 69 +690 2017-10-01 2017-10-01T00:00 Beijing 690 50 true 690 690 690 690.69 690.69 char690 690 +691 2017-10-01 2017-10-01T00:00 Beijing 691 51 true 691 691 691 691.691 691.691 char691 691 +692 2017-10-01 2017-10-01T00:00 Beijing 692 52 true 692 692 692 692.692 692.692 char692 692 +693 2017-10-01 2017-10-01T00:00 Beijing 693 53 true 693 693 693 693.693 693.693 char693 693 +694 2017-10-01 2017-10-01T00:00 Beijing 694 54 true 694 694 694 694.694 694.694 char694 694 +695 2017-10-01 2017-10-01T00:00 Beijing 695 55 true 695 695 695 695.695 695.695 char695 695 +696 2017-10-01 2017-10-01T00:00 Beijing 696 56 true 696 696 696 696.696 696.696 char696 696 +697 2017-10-01 2017-10-01T00:00 Beijing 697 57 true 697 697 697 697.697 697.697 char697 697 +698 2017-10-01 2017-10-01T00:00 Beijing 698 58 true 698 698 698 698.698 698.698 char698 698 +699 2017-10-01 2017-10-01T00:00 Beijing 699 59 true 699 699 699 699.699 699.699 char699 699 +7 2017-10-01 2017-10-01T00:00 Beijing 7 7 true 7 7 7 7.7 7.7 char7 7 +70 2017-10-01 2017-10-01T00:00 Beijing 70 70 true 70 70 70 70.7 70.7 char70 70 +700 2017-10-01 2017-10-01T00:00 Beijing 700 60 true 700 700 700 700.7 700.7 char700 700 +701 2017-10-01 2017-10-01T00:00 Beijing 701 61 true 701 701 701 701.701 701.701 char701 701 +702 2017-10-01 2017-10-01T00:00 Beijing 702 62 true 702 702 702 702.702 702.702 char702 702 +703 2017-10-01 2017-10-01T00:00 Beijing 703 63 true 703 703 703 703.703 703.703 char703 703 +704 2017-10-01 2017-10-01T00:00 Beijing 704 64 true 704 704 704 704.704 704.704 char704 704 +705 2017-10-01 2017-10-01T00:00 Beijing 705 65 true 705 705 705 705.705 705.705 char705 705 +706 2017-10-01 2017-10-01T00:00 Beijing 706 66 true 706 706 706 706.706 706.706 char706 706 +707 2017-10-01 2017-10-01T00:00 Beijing 707 67 true 707 707 707 707.707 707.707 char707 707 +708 2017-10-01 2017-10-01T00:00 Beijing 708 68 true 708 708 708 708.708 708.708 char708 708 +709 2017-10-01 2017-10-01T00:00 Beijing 709 69 true 709 709 709 709.709 709.709 char709 709 +71 2017-10-01 2017-10-01T00:00 Beijing 71 71 true 71 71 71 71.71 71.71 char71 71 +710 2017-10-01 2017-10-01T00:00 Beijing 710 70 true 710 710 710 710.71 710.71 char710 710 +711 2017-10-01 2017-10-01T00:00 Beijing 711 71 true 711 711 711 711.711 711.711 char711 711 +712 2017-10-01 2017-10-01T00:00 Beijing 712 72 true 712 712 712 712.712 712.712 char712 712 +713 2017-10-01 2017-10-01T00:00 Beijing 713 73 true 713 713 713 713.713 713.713 char713 713 +714 2017-10-01 2017-10-01T00:00 Beijing 714 74 true 714 714 714 714.714 714.714 char714 714 +715 2017-10-01 2017-10-01T00:00 Beijing 715 75 true 715 715 715 715.715 715.715 char715 715 +716 2017-10-01 2017-10-01T00:00 Beijing 716 76 true 716 716 716 716.716 716.716 char716 716 +717 2017-10-01 2017-10-01T00:00 Beijing 717 77 true 717 717 717 717.717 717.717 char717 717 +718 2017-10-01 2017-10-01T00:00 Beijing 718 78 true 718 718 718 718.718 718.718 char718 718 +719 2017-10-01 2017-10-01T00:00 Beijing 719 79 true 719 719 719 719.719 719.719 char719 719 +72 2017-10-01 2017-10-01T00:00 Beijing 72 72 true 72 72 72 72.72 72.72 char72 72 +720 2017-10-01 2017-10-01T00:00 Beijing 720 80 true 720 720 720 720.72 720.72 char720 720 +721 2017-10-01 2017-10-01T00:00 Beijing 721 81 true 721 721 721 721.721 721.721 char721 721 +722 2017-10-01 2017-10-01T00:00 Beijing 722 82 true 722 722 722 722.722 722.722 char722 722 +723 2017-10-01 2017-10-01T00:00 Beijing 723 83 true 723 723 723 723.723 723.723 char723 723 +724 2017-10-01 2017-10-01T00:00 Beijing 724 84 true 724 724 724 724.724 724.724 char724 724 +725 2017-10-01 2017-10-01T00:00 Beijing 725 85 true 725 725 725 725.725 725.725 char725 725 +726 2017-10-01 2017-10-01T00:00 Beijing 726 86 true 726 726 726 726.726 726.726 char726 726 +727 2017-10-01 2017-10-01T00:00 Beijing 727 87 true 727 727 727 727.727 727.727 char727 727 +728 2017-10-01 2017-10-01T00:00 Beijing 728 88 true 728 728 728 728.728 728.728 char728 728 +729 2017-10-01 2017-10-01T00:00 Beijing 729 89 true 729 729 729 729.729 729.729 char729 729 +73 2017-10-01 2017-10-01T00:00 Beijing 73 73 true 73 73 73 73.73 73.73 char73 73 +730 2017-10-01 2017-10-01T00:00 Beijing 730 90 true 730 730 730 730.73 730.73 char730 730 +731 2017-10-01 2017-10-01T00:00 Beijing 731 91 true 731 731 731 731.731 731.731 char731 731 +732 2017-10-01 2017-10-01T00:00 Beijing 732 92 true 732 732 732 732.732 732.732 char732 732 +733 2017-10-01 2017-10-01T00:00 Beijing 733 93 true 733 733 733 733.733 733.733 char733 733 +734 2017-10-01 2017-10-01T00:00 Beijing 734 94 true 734 734 734 734.734 734.734 char734 734 +735 2017-10-01 2017-10-01T00:00 Beijing 735 95 true 735 735 735 735.735 735.735 char735 735 +736 2017-10-01 2017-10-01T00:00 Beijing 736 96 true 736 736 736 736.736 736.736 char736 736 +737 2017-10-01 2017-10-01T00:00 Beijing 737 97 true 737 737 737 737.737 737.737 char737 737 +738 2017-10-01 2017-10-01T00:00 Beijing 738 98 true 738 738 738 738.738 738.738 char738 738 +739 2017-10-01 2017-10-01T00:00 Beijing 739 99 true 739 739 739 739.739 739.739 char739 739 +74 2017-10-01 2017-10-01T00:00 Beijing 74 74 true 74 74 74 74.74 74.74 char74 74 +740 2017-10-01 2017-10-01T00:00 Beijing 740 100 true 740 740 740 740.74 740.74 char740 740 +741 2017-10-01 2017-10-01T00:00 Beijing 741 101 true 741 741 741 741.741 741.741 char741 741 +742 2017-10-01 2017-10-01T00:00 Beijing 742 102 true 742 742 742 742.742 742.742 char742 742 +743 2017-10-01 2017-10-01T00:00 Beijing 743 103 true 743 743 743 743.743 743.743 char743 743 +744 2017-10-01 2017-10-01T00:00 Beijing 744 104 true 744 744 744 744.744 744.744 char744 744 +745 2017-10-01 2017-10-01T00:00 Beijing 745 105 true 745 745 745 745.745 745.745 char745 745 +746 2017-10-01 2017-10-01T00:00 Beijing 746 106 true 746 746 746 746.746 746.746 char746 746 +747 2017-10-01 2017-10-01T00:00 Beijing 747 107 true 747 747 747 747.747 747.747 char747 747 +748 2017-10-01 2017-10-01T00:00 Beijing 748 108 true 748 748 748 748.748 748.748 char748 748 +749 2017-10-01 2017-10-01T00:00 Beijing 749 109 true 749 749 749 749.749 749.749 char749 749 +75 2017-10-01 2017-10-01T00:00 Beijing 75 75 true 75 75 75 75.75 75.75 char75 75 +750 2017-10-01 2017-10-01T00:00 Beijing 750 110 true 750 750 750 750.75 750.75 char750 750 +751 2017-10-01 2017-10-01T00:00 Beijing 751 111 true 751 751 751 751.751 751.751 char751 751 +752 2017-10-01 2017-10-01T00:00 Beijing 752 112 true 752 752 752 752.752 752.752 char752 752 +753 2017-10-01 2017-10-01T00:00 Beijing 753 113 true 753 753 753 753.753 753.753 char753 753 +754 2017-10-01 2017-10-01T00:00 Beijing 754 114 true 754 754 754 754.754 754.754 char754 754 +755 2017-10-01 2017-10-01T00:00 Beijing 755 115 true 755 755 755 755.755 755.755 char755 755 +756 2017-10-01 2017-10-01T00:00 Beijing 756 116 true 756 756 756 756.756 756.756 char756 756 +757 2017-10-01 2017-10-01T00:00 Beijing 757 117 true 757 757 757 757.757 757.757 char757 757 +758 2017-10-01 2017-10-01T00:00 Beijing 758 118 true 758 758 758 758.758 758.758 char758 758 +759 2017-10-01 2017-10-01T00:00 Beijing 759 119 true 759 759 759 759.759 759.759 char759 759 +76 2017-10-01 2017-10-01T00:00 Beijing 76 76 true 76 76 76 76.76 76.76 char76 76 +760 2017-10-01 2017-10-01T00:00 Beijing 760 120 true 760 760 760 760.76 760.76 char760 760 +761 2017-10-01 2017-10-01T00:00 Beijing 761 121 true 761 761 761 761.761 761.761 char761 761 +762 2017-10-01 2017-10-01T00:00 Beijing 762 122 true 762 762 762 762.762 762.762 char762 762 +763 2017-10-01 2017-10-01T00:00 Beijing 763 123 true 763 763 763 763.763 763.763 char763 763 +764 2017-10-01 2017-10-01T00:00 Beijing 764 124 true 764 764 764 764.764 764.764 char764 764 +765 2017-10-01 2017-10-01T00:00 Beijing 765 125 true 765 765 765 765.765 765.765 char765 765 +766 2017-10-01 2017-10-01T00:00 Beijing 766 126 true 766 766 766 766.766 766.766 char766 766 +767 2017-10-01 2017-10-01T00:00 Beijing 767 127 true 767 767 767 767.767 767.767 char767 767 +768 2017-10-01 2017-10-01T00:00 Beijing 768 0 true 768 768 768 768.768 768.768 char768 768 +769 2017-10-01 2017-10-01T00:00 Beijing 769 1 true 769 769 769 769.769 769.769 char769 769 +77 2017-10-01 2017-10-01T00:00 Beijing 77 77 true 77 77 77 77.77 77.77 char77 77 +770 2017-10-01 2017-10-01T00:00 Beijing 770 2 true 770 770 770 770.77 770.77 char770 770 +771 2017-10-01 2017-10-01T00:00 Beijing 771 3 true 771 771 771 771.771 771.771 char771 771 +772 2017-10-01 2017-10-01T00:00 Beijing 772 4 true 772 772 772 772.772 772.772 char772 772 +773 2017-10-01 2017-10-01T00:00 Beijing 773 5 true 773 773 773 773.773 773.773 char773 773 +774 2017-10-01 2017-10-01T00:00 Beijing 774 6 true 774 774 774 774.774 774.774 char774 774 +775 2017-10-01 2017-10-01T00:00 Beijing 775 7 true 775 775 775 775.775 775.775 char775 775 +776 2017-10-01 2017-10-01T00:00 Beijing 776 8 true 776 776 776 776.776 776.776 char776 776 +777 2017-10-01 2017-10-01T00:00 Beijing 777 9 true 777 777 777 777.777 777.777 char777 777 +778 2017-10-01 2017-10-01T00:00 Beijing 778 10 true 778 778 778 778.778 778.778 char778 778 +779 2017-10-01 2017-10-01T00:00 Beijing 779 11 true 779 779 779 779.779 779.779 char779 779 +78 2017-10-01 2017-10-01T00:00 Beijing 78 78 true 78 78 78 78.78 78.78 char78 78 +780 2017-10-01 2017-10-01T00:00 Beijing 780 12 true 780 780 780 780.78 780.78 char780 780 +781 2017-10-01 2017-10-01T00:00 Beijing 781 13 true 781 781 781 781.781 781.781 char781 781 +782 2017-10-01 2017-10-01T00:00 Beijing 782 14 true 782 782 782 782.782 782.782 char782 782 +783 2017-10-01 2017-10-01T00:00 Beijing 783 15 true 783 783 783 783.783 783.783 char783 783 +784 2017-10-01 2017-10-01T00:00 Beijing 784 16 true 784 784 784 784.784 784.784 char784 784 +785 2017-10-01 2017-10-01T00:00 Beijing 785 17 true 785 785 785 785.785 785.785 char785 785 +786 2017-10-01 2017-10-01T00:00 Beijing 786 18 true 786 786 786 786.786 786.786 char786 786 +787 2017-10-01 2017-10-01T00:00 Beijing 787 19 true 787 787 787 787.787 787.787 char787 787 +788 2017-10-01 2017-10-01T00:00 Beijing 788 20 true 788 788 788 788.788 788.788 char788 788 +789 2017-10-01 2017-10-01T00:00 Beijing 789 21 true 789 789 789 789.789 789.789 char789 789 +79 2017-10-01 2017-10-01T00:00 Beijing 79 79 true 79 79 79 79.79 79.79 char79 79 +790 2017-10-01 2017-10-01T00:00 Beijing 790 22 true 790 790 790 790.79 790.79 char790 790 +791 2017-10-01 2017-10-01T00:00 Beijing 791 23 true 791 791 791 791.791 791.791 char791 791 +792 2017-10-01 2017-10-01T00:00 Beijing 792 24 true 792 792 792 792.792 792.792 char792 792 +793 2017-10-01 2017-10-01T00:00 Beijing 793 25 true 793 793 793 793.793 793.793 char793 793 +794 2017-10-01 2017-10-01T00:00 Beijing 794 26 true 794 794 794 794.794 794.794 char794 794 +795 2017-10-01 2017-10-01T00:00 Beijing 795 27 true 795 795 795 795.795 795.795 char795 795 +796 2017-10-01 2017-10-01T00:00 Beijing 796 28 true 796 796 796 796.796 796.796 char796 796 +797 2017-10-01 2017-10-01T00:00 Beijing 797 29 true 797 797 797 797.797 797.797 char797 797 +798 2017-10-01 2017-10-01T00:00 Beijing 798 30 true 798 798 798 798.798 798.798 char798 798 +799 2017-10-01 2017-10-01T00:00 Beijing 799 31 true 799 799 799 799.799 799.799 char799 799 +8 2017-10-01 2017-10-01T00:00 Beijing 8 8 true 8 8 8 8.8 8.8 char8 8 +80 2017-10-01 2017-10-01T00:00 Beijing 80 80 true 80 80 80 80.8 80.8 char80 80 +800 2017-10-01 2017-10-01T00:00 Beijing 800 32 true 800 800 800 800.8 800.8 char800 800 +801 2017-10-01 2017-10-01T00:00 Beijing 801 33 true 801 801 801 801.801 801.801 char801 801 +802 2017-10-01 2017-10-01T00:00 Beijing 802 34 true 802 802 802 802.802 802.802 char802 802 +803 2017-10-01 2017-10-01T00:00 Beijing 803 35 true 803 803 803 803.803 803.803 char803 803 +804 2017-10-01 2017-10-01T00:00 Beijing 804 36 true 804 804 804 804.804 804.804 char804 804 +805 2017-10-01 2017-10-01T00:00 Beijing 805 37 true 805 805 805 805.805 805.805 char805 805 +806 2017-10-01 2017-10-01T00:00 Beijing 806 38 true 806 806 806 806.806 806.806 char806 806 +807 2017-10-01 2017-10-01T00:00 Beijing 807 39 true 807 807 807 807.807 807.807 char807 807 +808 2017-10-01 2017-10-01T00:00 Beijing 808 40 true 808 808 808 808.808 808.808 char808 808 +809 2017-10-01 2017-10-01T00:00 Beijing 809 41 true 809 809 809 809.809 809.809 char809 809 +81 2017-10-01 2017-10-01T00:00 Beijing 81 81 true 81 81 81 81.81 81.81 char81 81 +810 2017-10-01 2017-10-01T00:00 Beijing 810 42 true 810 810 810 810.81 810.81 char810 810 +811 2017-10-01 2017-10-01T00:00 Beijing 811 43 true 811 811 811 811.811 811.811 char811 811 +812 2017-10-01 2017-10-01T00:00 Beijing 812 44 true 812 812 812 812.812 812.812 char812 812 +813 2017-10-01 2017-10-01T00:00 Beijing 813 45 true 813 813 813 813.813 813.813 char813 813 +814 2017-10-01 2017-10-01T00:00 Beijing 814 46 true 814 814 814 814.814 814.814 char814 814 +815 2017-10-01 2017-10-01T00:00 Beijing 815 47 true 815 815 815 815.815 815.815 char815 815 +816 2017-10-01 2017-10-01T00:00 Beijing 816 48 true 816 816 816 816.816 816.816 char816 816 +817 2017-10-01 2017-10-01T00:00 Beijing 817 49 true 817 817 817 817.817 817.817 char817 817 +818 2017-10-01 2017-10-01T00:00 Beijing 818 50 true 818 818 818 818.818 818.818 char818 818 +819 2017-10-01 2017-10-01T00:00 Beijing 819 51 true 819 819 819 819.819 819.819 char819 819 +82 2017-10-01 2017-10-01T00:00 Beijing 82 82 true 82 82 82 82.82 82.82 char82 82 +820 2017-10-01 2017-10-01T00:00 Beijing 820 52 true 820 820 820 820.82 820.82 char820 820 +821 2017-10-01 2017-10-01T00:00 Beijing 821 53 true 821 821 821 821.821 821.821 char821 821 +822 2017-10-01 2017-10-01T00:00 Beijing 822 54 true 822 822 822 822.822 822.822 char822 822 +823 2017-10-01 2017-10-01T00:00 Beijing 823 55 true 823 823 823 823.823 823.823 char823 823 +824 2017-10-01 2017-10-01T00:00 Beijing 824 56 true 824 824 824 824.824 824.824 char824 824 +825 2017-10-01 2017-10-01T00:00 Beijing 825 57 true 825 825 825 825.825 825.825 char825 825 +826 2017-10-01 2017-10-01T00:00 Beijing 826 58 true 826 826 826 826.826 826.826 char826 826 +827 2017-10-01 2017-10-01T00:00 Beijing 827 59 true 827 827 827 827.827 827.827 char827 827 +828 2017-10-01 2017-10-01T00:00 Beijing 828 60 true 828 828 828 828.828 828.828 char828 828 +829 2017-10-01 2017-10-01T00:00 Beijing 829 61 true 829 829 829 829.829 829.829 char829 829 +83 2017-10-01 2017-10-01T00:00 Beijing 83 83 true 83 83 83 83.83 83.83 char83 83 +830 2017-10-01 2017-10-01T00:00 Beijing 830 62 true 830 830 830 830.83 830.83 char830 830 +831 2017-10-01 2017-10-01T00:00 Beijing 831 63 true 831 831 831 831.831 831.831 char831 831 +832 2017-10-01 2017-10-01T00:00 Beijing 832 64 true 832 832 832 832.832 832.832 char832 832 +833 2017-10-01 2017-10-01T00:00 Beijing 833 65 true 833 833 833 833.833 833.833 char833 833 +834 2017-10-01 2017-10-01T00:00 Beijing 834 66 true 834 834 834 834.834 834.834 char834 834 +835 2017-10-01 2017-10-01T00:00 Beijing 835 67 true 835 835 835 835.835 835.835 char835 835 +836 2017-10-01 2017-10-01T00:00 Beijing 836 68 true 836 836 836 836.836 836.836 char836 836 +837 2017-10-01 2017-10-01T00:00 Beijing 837 69 true 837 837 837 837.837 837.837 char837 837 +838 2017-10-01 2017-10-01T00:00 Beijing 838 70 true 838 838 838 838.838 838.838 char838 838 +839 2017-10-01 2017-10-01T00:00 Beijing 839 71 true 839 839 839 839.839 839.839 char839 839 +84 2017-10-01 2017-10-01T00:00 Beijing 84 84 true 84 84 84 84.84 84.84 char84 84 +840 2017-10-01 2017-10-01T00:00 Beijing 840 72 true 840 840 840 840.84 840.84 char840 840 +841 2017-10-01 2017-10-01T00:00 Beijing 841 73 true 841 841 841 841.841 841.841 char841 841 +842 2017-10-01 2017-10-01T00:00 Beijing 842 74 true 842 842 842 842.842 842.842 char842 842 +843 2017-10-01 2017-10-01T00:00 Beijing 843 75 true 843 843 843 843.843 843.843 char843 843 +844 2017-10-01 2017-10-01T00:00 Beijing 844 76 true 844 844 844 844.844 844.844 char844 844 +845 2017-10-01 2017-10-01T00:00 Beijing 845 77 true 845 845 845 845.845 845.845 char845 845 +846 2017-10-01 2017-10-01T00:00 Beijing 846 78 true 846 846 846 846.846 846.846 char846 846 +847 2017-10-01 2017-10-01T00:00 Beijing 847 79 true 847 847 847 847.847 847.847 char847 847 +848 2017-10-01 2017-10-01T00:00 Beijing 848 80 true 848 848 848 848.848 848.848 char848 848 +849 2017-10-01 2017-10-01T00:00 Beijing 849 81 true 849 849 849 849.849 849.849 char849 849 +85 2017-10-01 2017-10-01T00:00 Beijing 85 85 true 85 85 85 85.85 85.85 char85 85 +850 2017-10-01 2017-10-01T00:00 Beijing 850 82 true 850 850 850 850.85 850.85 char850 850 +851 2017-10-01 2017-10-01T00:00 Beijing 851 83 true 851 851 851 851.851 851.851 char851 851 +852 2017-10-01 2017-10-01T00:00 Beijing 852 84 true 852 852 852 852.852 852.852 char852 852 +853 2017-10-01 2017-10-01T00:00 Beijing 853 85 true 853 853 853 853.853 853.853 char853 853 +854 2017-10-01 2017-10-01T00:00 Beijing 854 86 true 854 854 854 854.854 854.854 char854 854 +855 2017-10-01 2017-10-01T00:00 Beijing 855 87 true 855 855 855 855.855 855.855 char855 855 +856 2017-10-01 2017-10-01T00:00 Beijing 856 88 true 856 856 856 856.856 856.856 char856 856 +857 2017-10-01 2017-10-01T00:00 Beijing 857 89 true 857 857 857 857.857 857.857 char857 857 +858 2017-10-01 2017-10-01T00:00 Beijing 858 90 true 858 858 858 858.858 858.858 char858 858 +859 2017-10-01 2017-10-01T00:00 Beijing 859 91 true 859 859 859 859.859 859.859 char859 859 +86 2017-10-01 2017-10-01T00:00 Beijing 86 86 true 86 86 86 86.86 86.86 char86 86 +860 2017-10-01 2017-10-01T00:00 Beijing 860 92 true 860 860 860 860.86 860.86 char860 860 +861 2017-10-01 2017-10-01T00:00 Beijing 861 93 true 861 861 861 861.861 861.861 char861 861 +862 2017-10-01 2017-10-01T00:00 Beijing 862 94 true 862 862 862 862.862 862.862 char862 862 +863 2017-10-01 2017-10-01T00:00 Beijing 863 95 true 863 863 863 863.863 863.863 char863 863 +864 2017-10-01 2017-10-01T00:00 Beijing 864 96 true 864 864 864 864.864 864.864 char864 864 +865 2017-10-01 2017-10-01T00:00 Beijing 865 97 true 865 865 865 865.865 865.865 char865 865 +866 2017-10-01 2017-10-01T00:00 Beijing 866 98 true 866 866 866 866.866 866.866 char866 866 +867 2017-10-01 2017-10-01T00:00 Beijing 867 99 true 867 867 867 867.867 867.867 char867 867 +868 2017-10-01 2017-10-01T00:00 Beijing 868 100 true 868 868 868 868.868 868.868 char868 868 +869 2017-10-01 2017-10-01T00:00 Beijing 869 101 true 869 869 869 869.869 869.869 char869 869 +87 2017-10-01 2017-10-01T00:00 Beijing 87 87 true 87 87 87 87.87 87.87 char87 87 +870 2017-10-01 2017-10-01T00:00 Beijing 870 102 true 870 870 870 870.87 870.87 char870 870 +871 2017-10-01 2017-10-01T00:00 Beijing 871 103 true 871 871 871 871.871 871.871 char871 871 +872 2017-10-01 2017-10-01T00:00 Beijing 872 104 true 872 872 872 872.872 872.872 char872 872 +873 2017-10-01 2017-10-01T00:00 Beijing 873 105 true 873 873 873 873.873 873.873 char873 873 +874 2017-10-01 2017-10-01T00:00 Beijing 874 106 true 874 874 874 874.874 874.874 char874 874 +875 2017-10-01 2017-10-01T00:00 Beijing 875 107 true 875 875 875 875.875 875.875 char875 875 +876 2017-10-01 2017-10-01T00:00 Beijing 876 108 true 876 876 876 876.876 876.876 char876 876 +877 2017-10-01 2017-10-01T00:00 Beijing 877 109 true 877 877 877 877.877 877.877 char877 877 +878 2017-10-01 2017-10-01T00:00 Beijing 878 110 true 878 878 878 878.878 878.878 char878 878 +879 2017-10-01 2017-10-01T00:00 Beijing 879 111 true 879 879 879 879.879 879.879 char879 879 +88 2017-10-01 2017-10-01T00:00 Beijing 88 88 true 88 88 88 88.88 88.88 char88 88 +880 2017-10-01 2017-10-01T00:00 Beijing 880 112 true 880 880 880 880.88 880.88 char880 880 +881 2017-10-01 2017-10-01T00:00 Beijing 881 113 true 881 881 881 881.881 881.881 char881 881 +882 2017-10-01 2017-10-01T00:00 Beijing 882 114 true 882 882 882 882.882 882.882 char882 882 +883 2017-10-01 2017-10-01T00:00 Beijing 883 115 true 883 883 883 883.883 883.883 char883 883 +884 2017-10-01 2017-10-01T00:00 Beijing 884 116 true 884 884 884 884.884 884.884 char884 884 +885 2017-10-01 2017-10-01T00:00 Beijing 885 117 true 885 885 885 885.885 885.885 char885 885 +886 2017-10-01 2017-10-01T00:00 Beijing 886 118 true 886 886 886 886.886 886.886 char886 886 +887 2017-10-01 2017-10-01T00:00 Beijing 887 119 true 887 887 887 887.887 887.887 char887 887 +888 2017-10-01 2017-10-01T00:00 Beijing 888 120 true 888 888 888 888.888 888.888 char888 888 +889 2017-10-01 2017-10-01T00:00 Beijing 889 121 true 889 889 889 889.889 889.889 char889 889 +89 2017-10-01 2017-10-01T00:00 Beijing 89 89 true 89 89 89 89.89 89.89 char89 89 +890 2017-10-01 2017-10-01T00:00 Beijing 890 122 true 890 890 890 890.89 890.89 char890 890 +891 2017-10-01 2017-10-01T00:00 Beijing 891 123 true 891 891 891 891.891 891.891 char891 891 +892 2017-10-01 2017-10-01T00:00 Beijing 892 124 true 892 892 892 892.892 892.892 char892 892 +893 2017-10-01 2017-10-01T00:00 Beijing 893 125 true 893 893 893 893.893 893.893 char893 893 +894 2017-10-01 2017-10-01T00:00 Beijing 894 126 true 894 894 894 894.894 894.894 char894 894 +895 2017-10-01 2017-10-01T00:00 Beijing 895 127 true 895 895 895 895.895 895.895 char895 895 +896 2017-10-01 2017-10-01T00:00 Beijing 896 0 true 896 896 896 896.896 896.896 char896 896 +897 2017-10-01 2017-10-01T00:00 Beijing 897 1 true 897 897 897 897.897 897.897 char897 897 +898 2017-10-01 2017-10-01T00:00 Beijing 898 2 true 898 898 898 898.898 898.898 char898 898 +899 2017-10-01 2017-10-01T00:00 Beijing 899 3 true 899 899 899 899.899 899.899 char899 899 +9 2017-10-01 2017-10-01T00:00 Beijing 9 9 true 9 9 9 9.9 9.9 char9 9 +90 2017-10-01 2017-10-01T00:00 Beijing 90 90 true 90 90 90 90.9 90.9 char90 90 +900 2017-10-01 2017-10-01T00:00 Beijing 900 4 true 900 900 900 900.9 900.9 char900 900 +901 2017-10-01 2017-10-01T00:00 Beijing 901 5 true 901 901 901 901.901 901.901 char901 901 +902 2017-10-01 2017-10-01T00:00 Beijing 902 6 true 902 902 902 902.902 902.902 char902 902 +903 2017-10-01 2017-10-01T00:00 Beijing 903 7 true 903 903 903 903.903 903.903 char903 903 +904 2017-10-01 2017-10-01T00:00 Beijing 904 8 true 904 904 904 904.904 904.904 char904 904 +905 2017-10-01 2017-10-01T00:00 Beijing 905 9 true 905 905 905 905.905 905.905 char905 905 +906 2017-10-01 2017-10-01T00:00 Beijing 906 10 true 906 906 906 906.906 906.906 char906 906 +907 2017-10-01 2017-10-01T00:00 Beijing 907 11 true 907 907 907 907.907 907.907 char907 907 +908 2017-10-01 2017-10-01T00:00 Beijing 908 12 true 908 908 908 908.908 908.908 char908 908 +909 2017-10-01 2017-10-01T00:00 Beijing 909 13 true 909 909 909 909.909 909.909 char909 909 +91 2017-10-01 2017-10-01T00:00 Beijing 91 91 true 91 91 91 91.91 91.91 char91 91 +910 2017-10-01 2017-10-01T00:00 Beijing 910 14 true 910 910 910 910.91 910.91 char910 910 +911 2017-10-01 2017-10-01T00:00 Beijing 911 15 true 911 911 911 911.911 911.911 char911 911 +912 2017-10-01 2017-10-01T00:00 Beijing 912 16 true 912 912 912 912.912 912.912 char912 912 +913 2017-10-01 2017-10-01T00:00 Beijing 913 17 true 913 913 913 913.913 913.913 char913 913 +914 2017-10-01 2017-10-01T00:00 Beijing 914 18 true 914 914 914 914.914 914.914 char914 914 +915 2017-10-01 2017-10-01T00:00 Beijing 915 19 true 915 915 915 915.915 915.915 char915 915 +916 2017-10-01 2017-10-01T00:00 Beijing 916 20 true 916 916 916 916.916 916.916 char916 916 +917 2017-10-01 2017-10-01T00:00 Beijing 917 21 true 917 917 917 917.917 917.917 char917 917 +918 2017-10-01 2017-10-01T00:00 Beijing 918 22 true 918 918 918 918.918 918.918 char918 918 +919 2017-10-01 2017-10-01T00:00 Beijing 919 23 true 919 919 919 919.919 919.919 char919 919 +92 2017-10-01 2017-10-01T00:00 Beijing 92 92 true 92 92 92 92.92 92.92 char92 92 +920 2017-10-01 2017-10-01T00:00 Beijing 920 24 true 920 920 920 920.92 920.92 char920 920 +921 2017-10-01 2017-10-01T00:00 Beijing 921 25 true 921 921 921 921.921 921.921 char921 921 +922 2017-10-01 2017-10-01T00:00 Beijing 922 26 true 922 922 922 922.922 922.922 char922 922 +923 2017-10-01 2017-10-01T00:00 Beijing 923 27 true 923 923 923 923.923 923.923 char923 923 +924 2017-10-01 2017-10-01T00:00 Beijing 924 28 true 924 924 924 924.924 924.924 char924 924 +925 2017-10-01 2017-10-01T00:00 Beijing 925 29 true 925 925 925 925.925 925.925 char925 925 +926 2017-10-01 2017-10-01T00:00 Beijing 926 30 true 926 926 926 926.926 926.926 char926 926 +927 2017-10-01 2017-10-01T00:00 Beijing 927 31 true 927 927 927 927.927 927.927 char927 927 +928 2017-10-01 2017-10-01T00:00 Beijing 928 32 true 928 928 928 928.928 928.928 char928 928 +929 2017-10-01 2017-10-01T00:00 Beijing 929 33 true 929 929 929 929.929 929.929 char929 929 +93 2017-10-01 2017-10-01T00:00 Beijing 93 93 true 93 93 93 93.93 93.93 char93 93 +930 2017-10-01 2017-10-01T00:00 Beijing 930 34 true 930 930 930 930.93 930.93 char930 930 +931 2017-10-01 2017-10-01T00:00 Beijing 931 35 true 931 931 931 931.931 931.931 char931 931 +932 2017-10-01 2017-10-01T00:00 Beijing 932 36 true 932 932 932 932.932 932.932 char932 932 +933 2017-10-01 2017-10-01T00:00 Beijing 933 37 true 933 933 933 933.933 933.933 char933 933 +934 2017-10-01 2017-10-01T00:00 Beijing 934 38 true 934 934 934 934.934 934.934 char934 934 +935 2017-10-01 2017-10-01T00:00 Beijing 935 39 true 935 935 935 935.935 935.935 char935 935 +936 2017-10-01 2017-10-01T00:00 Beijing 936 40 true 936 936 936 936.936 936.936 char936 936 +937 2017-10-01 2017-10-01T00:00 Beijing 937 41 true 937 937 937 937.937 937.937 char937 937 +938 2017-10-01 2017-10-01T00:00 Beijing 938 42 true 938 938 938 938.938 938.938 char938 938 +939 2017-10-01 2017-10-01T00:00 Beijing 939 43 true 939 939 939 939.939 939.939 char939 939 +94 2017-10-01 2017-10-01T00:00 Beijing 94 94 true 94 94 94 94.94 94.94 char94 94 +940 2017-10-01 2017-10-01T00:00 Beijing 940 44 true 940 940 940 940.94 940.94 char940 940 +941 2017-10-01 2017-10-01T00:00 Beijing 941 45 true 941 941 941 941.941 941.941 char941 941 +942 2017-10-01 2017-10-01T00:00 Beijing 942 46 true 942 942 942 942.942 942.942 char942 942 +943 2017-10-01 2017-10-01T00:00 Beijing 943 47 true 943 943 943 943.943 943.943 char943 943 +944 2017-10-01 2017-10-01T00:00 Beijing 944 48 true 944 944 944 944.944 944.944 char944 944 +945 2017-10-01 2017-10-01T00:00 Beijing 945 49 true 945 945 945 945.945 945.945 char945 945 +946 2017-10-01 2017-10-01T00:00 Beijing 946 50 true 946 946 946 946.946 946.946 char946 946 +947 2017-10-01 2017-10-01T00:00 Beijing 947 51 true 947 947 947 947.947 947.947 char947 947 +948 2017-10-01 2017-10-01T00:00 Beijing 948 52 true 948 948 948 948.948 948.948 char948 948 +949 2017-10-01 2017-10-01T00:00 Beijing 949 53 true 949 949 949 949.949 949.949 char949 949 +95 2017-10-01 2017-10-01T00:00 Beijing 95 95 true 95 95 95 95.95 95.95 char95 95 +950 2017-10-01 2017-10-01T00:00 Beijing 950 54 true 950 950 950 950.95 950.95 char950 950 +951 2017-10-01 2017-10-01T00:00 Beijing 951 55 true 951 951 951 951.951 951.951 char951 951 +952 2017-10-01 2017-10-01T00:00 Beijing 952 56 true 952 952 952 952.952 952.952 char952 952 +953 2017-10-01 2017-10-01T00:00 Beijing 953 57 true 953 953 953 953.953 953.953 char953 953 +954 2017-10-01 2017-10-01T00:00 Beijing 954 58 true 954 954 954 954.954 954.954 char954 954 +955 2017-10-01 2017-10-01T00:00 Beijing 955 59 true 955 955 955 955.955 955.955 char955 955 +956 2017-10-01 2017-10-01T00:00 Beijing 956 60 true 956 956 956 956.956 956.956 char956 956 +957 2017-10-01 2017-10-01T00:00 Beijing 957 61 true 957 957 957 957.957 957.957 char957 957 +958 2017-10-01 2017-10-01T00:00 Beijing 958 62 true 958 958 958 958.958 958.958 char958 958 +959 2017-10-01 2017-10-01T00:00 Beijing 959 63 true 959 959 959 959.959 959.959 char959 959 +96 2017-10-01 2017-10-01T00:00 Beijing 96 96 true 96 96 96 96.96 96.96 char96 96 +960 2017-10-01 2017-10-01T00:00 Beijing 960 64 true 960 960 960 960.96 960.96 char960 960 +961 2017-10-01 2017-10-01T00:00 Beijing 961 65 true 961 961 961 961.961 961.961 char961 961 +962 2017-10-01 2017-10-01T00:00 Beijing 962 66 true 962 962 962 962.962 962.962 char962 962 +963 2017-10-01 2017-10-01T00:00 Beijing 963 67 true 963 963 963 963.963 963.963 char963 963 +964 2017-10-01 2017-10-01T00:00 Beijing 964 68 true 964 964 964 964.964 964.964 char964 964 +965 2017-10-01 2017-10-01T00:00 Beijing 965 69 true 965 965 965 965.965 965.965 char965 965 +966 2017-10-01 2017-10-01T00:00 Beijing 966 70 true 966 966 966 966.966 966.966 char966 966 +967 2017-10-01 2017-10-01T00:00 Beijing 967 71 true 967 967 967 967.967 967.967 char967 967 +968 2017-10-01 2017-10-01T00:00 Beijing 968 72 true 968 968 968 968.968 968.968 char968 968 +969 2017-10-01 2017-10-01T00:00 Beijing 969 73 true 969 969 969 969.969 969.969 char969 969 +97 2017-10-01 2017-10-01T00:00 Beijing 97 97 true 97 97 97 97.97 97.97 char97 97 +970 2017-10-01 2017-10-01T00:00 Beijing 970 74 true 970 970 970 970.97 970.97 char970 970 +971 2017-10-01 2017-10-01T00:00 Beijing 971 75 true 971 971 971 971.971 971.971 char971 971 +972 2017-10-01 2017-10-01T00:00 Beijing 972 76 true 972 972 972 972.972 972.972 char972 972 +973 2017-10-01 2017-10-01T00:00 Beijing 973 77 true 973 973 973 973.973 973.973 char973 973 +974 2017-10-01 2017-10-01T00:00 Beijing 974 78 true 974 974 974 974.974 974.974 char974 974 +975 2017-10-01 2017-10-01T00:00 Beijing 975 79 true 975 975 975 975.975 975.975 char975 975 +976 2017-10-01 2017-10-01T00:00 Beijing 976 80 true 976 976 976 976.976 976.976 char976 976 +977 2017-10-01 2017-10-01T00:00 Beijing 977 81 true 977 977 977 977.977 977.977 char977 977 +978 2017-10-01 2017-10-01T00:00 Beijing 978 82 true 978 978 978 978.978 978.978 char978 978 +979 2017-10-01 2017-10-01T00:00 Beijing 979 83 true 979 979 979 979.979 979.979 char979 979 +98 2017-10-01 2017-10-01T00:00 Beijing 98 98 true 98 98 98 98.98 98.98 char98 98 +980 2017-10-01 2017-10-01T00:00 Beijing 980 84 true 980 980 980 980.98 980.98 char980 980 +981 2017-10-01 2017-10-01T00:00 Beijing 981 85 true 981 981 981 981.981 981.981 char981 981 +982 2017-10-01 2017-10-01T00:00 Beijing 982 86 true 982 982 982 982.982 982.982 char982 982 +983 2017-10-01 2017-10-01T00:00 Beijing 983 87 true 983 983 983 983.983 983.983 char983 983 +984 2017-10-01 2017-10-01T00:00 Beijing 984 88 true 984 984 984 984.984 984.984 char984 984 +985 2017-10-01 2017-10-01T00:00 Beijing 985 89 true 985 985 985 985.985 985.985 char985 985 +986 2017-10-01 2017-10-01T00:00 Beijing 986 90 true 986 986 986 986.986 986.986 char986 986 +987 2017-10-01 2017-10-01T00:00 Beijing 987 91 true 987 987 987 987.987 987.987 char987 987 +988 2017-10-01 2017-10-01T00:00 Beijing 988 92 true 988 988 988 988.988 988.988 char988 988 +989 2017-10-01 2017-10-01T00:00 Beijing 989 93 true 989 989 989 989.989 989.989 char989 989 +99 2017-10-01 2017-10-01T00:00 Beijing 99 99 true 99 99 99 99.99 99.99 char99 99 +990 2017-10-01 2017-10-01T00:00 Beijing 990 94 true 990 990 990 990.99 990.99 char990 990 +991 2017-10-01 2017-10-01T00:00 Beijing 991 95 true 991 991 991 991.991 991.991 char991 991 +992 2017-10-01 2017-10-01T00:00 Beijing 992 96 true 992 992 992 992.992 992.992 char992 992 +993 2017-10-01 2017-10-01T00:00 Beijing 993 97 true 993 993 993 993.993 993.993 char993 993 +994 2017-10-01 2017-10-01T00:00 Beijing 994 98 true 994 994 994 994.994 994.994 char994 994 +995 2017-10-01 2017-10-01T00:00 Beijing 995 99 true 995 995 995 995.995 995.995 char995 995 +996 2017-10-01 2017-10-01T00:00 Beijing 996 100 true 996 996 996 996.996 996.996 char996 996 +997 2017-10-01 2017-10-01T00:00 Beijing 997 101 true 997 997 997 997.997 997.997 char997 997 +998 2017-10-01 2017-10-01T00:00 Beijing 998 102 true 998 998 998 998.998 998.998 char998 998 +999 2017-10-01 2017-10-01T00:00 Beijing 999 103 true 999 999 999 999.999 999.999 char999 999 + diff --git a/regression-test/data/export_p2/test_export_with_hdfs.out b/regression-test/data/export_p2/test_export_with_hdfs.out new file mode 100644 index 0000000000..457bcfced3 --- /dev/null +++ b/regression-test/data/export_p2/test_export_with_hdfs.out @@ -0,0 +1,73 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !select_export -- +1 ftw-1 19 +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 +10 \N \N + +-- !select -- +1 ftw-1 19 +10 \N \N +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 + +-- !select -- +1 ftw-1 19 +10 \N \N +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 + +-- !select -- +1 ftw-1 19 +10 \N \N +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 + +-- !select -- +1 ftw-1 19 +10 \N \N +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 + +-- !select -- +1 ftw-1 19 +10 \N \N +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 + diff --git a/regression-test/data/export_p2/test_export_with_s3.out b/regression-test/data/export_p2/test_export_with_s3.out new file mode 100644 index 0000000000..457bcfced3 --- /dev/null +++ b/regression-test/data/export_p2/test_export_with_s3.out @@ -0,0 +1,73 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !select_export -- +1 ftw-1 19 +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 +10 \N \N + +-- !select -- +1 ftw-1 19 +10 \N \N +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 + +-- !select -- +1 ftw-1 19 +10 \N \N +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 + +-- !select -- +1 ftw-1 19 +10 \N \N +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 + +-- !select -- +1 ftw-1 19 +10 \N \N +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 + +-- !select -- +1 ftw-1 19 +10 \N \N +2 ftw-2 20 +3 ftw-3 21 +4 ftw-4 22 +5 ftw-5 23 +6 ftw-6 24 +7 ftw-7 25 +8 ftw-8 26 +9 ftw-9 27 + diff --git a/regression-test/suites/export_p2/test_export_max_file_size.groovy b/regression-test/suites/export_p2/test_export_max_file_size.groovy new file mode 100644 index 0000000000..0efe3a82cf --- /dev/null +++ b/regression-test/suites/export_p2/test_export_max_file_size.groovy @@ -0,0 +1,140 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_export_max_file_size", "p2") { + String nameNodeHost = context.config.otherConfigs.get("extHiveHmsHost") + String hdfsPort = context.config.otherConfigs.get("extHdfsPort") + String fs = "hdfs://${nameNodeHost}:${hdfsPort}" + String user_name = context.config.otherConfigs.get("extHiveHmsUser") + + + def table_export_name = "test_export_max_file_size" + // create table and insert + sql """ DROP TABLE IF EXISTS ${table_export_name} """ + sql """ + CREATE TABLE IF NOT EXISTS ${table_export_name} ( + `user_id` LARGEINT NOT NULL COMMENT "用户id", + `date` DATE NOT NULL COMMENT "数据灌入日期时间", + `datetime` DATETIME NOT NULL COMMENT "数据灌入日期时间", + `city` VARCHAR(20) COMMENT "用户所在城市", + `age` INT COMMENT "用户年龄", + `sex` INT COMMENT "用户性别", + `bool_col` boolean COMMENT "", + `int_col` int COMMENT "", + `bigint_col` bigint COMMENT "", + `largeint_col` largeint COMMENT "", + `float_col` float COMMENT "", + `double_col` double COMMENT "", + `char_col` CHAR(10) COMMENT "", + `decimal_col` decimal COMMENT "" + ) + DISTRIBUTED BY HASH(user_id) PROPERTIES("replication_num" = "1"); + """ + + // Used to store the data exported before + def table_load_name = "test_load" + sql """ DROP TABLE IF EXISTS ${table_load_name} """ + sql """ + CREATE TABLE IF NOT EXISTS ${table_load_name} ( + `user_id` LARGEINT NOT NULL COMMENT "用户id", + `date` DATE NOT NULL COMMENT "数据灌入日期时间", + `datetime` DATETIME NOT NULL COMMENT "数据灌入日期时间", + `city` VARCHAR(20) COMMENT "用户所在城市", + `age` INT COMMENT "用户年龄", + `sex` INT COMMENT "用户性别", + `bool_col` boolean COMMENT "", + `int_col` int COMMENT "", + `bigint_col` bigint COMMENT "", + `largeint_col` largeint COMMENT "", + `float_col` float COMMENT "", + `double_col` double COMMENT "", + `char_col` CHAR(10) COMMENT "", + `decimal_col` decimal COMMENT "" + ) + DISTRIBUTED BY HASH(user_id) PROPERTIES("replication_num" = "1"); + """ + + def load_data_path = "/user/export_test/exp_max_file_size.csv" + sql """ + insert into ${table_export_name} + select * from hdfs( + "uri" = "hdfs://${nameNodeHost}:${hdfsPort}${load_data_path}", + "fs.defaultFS" = "${fs}", + "hadoop.username" = "${user_name}", + "format" = "csv"); + """ + + + def waiting_export = { export_label -> + while (true) { + def res = sql """ show export where label = "${export_label}" """ + logger.info("export state: " + res[0][2]) + if (res[0][2] == "FINISHED") { + return res[0][11] + } else if (res[0][2] == "CANCELLED") { + throw new IllegalStateException("""export failed: ${res[0][10]}""") + } else { + sleep(5000) + } + } + } + + def outFilePath = """/user/export_test/test_max_file_size/exp_""" + + // 1. csv test + def test_export = {format, file_suffix, isDelete -> + def uuid = UUID.randomUUID().toString() + // exec export + sql """ + EXPORT TABLE ${table_export_name} TO "${fs}${outFilePath}" + PROPERTIES( + "label" = "${uuid}", + "format" = "${format}", + "column_separator"=",", + "max_file_size" = "5MB", + "delete_existing_files"="${isDelete}" + ) + with HDFS ( + "fs.defaultFS"="${fs}", + "hadoop.username" = "${user_name}" + ); + """ + + def outfile_info = waiting_export.call(uuid) + def json = parseJson(outfile_info) + assert json instanceof List + assertEquals("3", json.fileNumber[0]) + def outfile_url = json.url[0] + + for (int j = 0; j < json.fileNumber[0].toInteger(); ++j ) { + // check data correctness + sql """ + insert into ${table_load_name} + select * from hdfs( + "uri" = "${outfile_url}${j}.csv", + "fs.defaultFS" = "${fs}", + "hadoop.username" = "${user_name}", + "format" = "csv"); + """ + } + } + + // begin test + test_export('csv', 'csv', true); + order_qt_select """ select * from ${table_load_name} order by user_id limit 1000""" + +} diff --git a/regression-test/suites/export_p2/test_export_with_hdfs.groovy b/regression-test/suites/export_p2/test_export_with_hdfs.groovy new file mode 100644 index 0000000000..205b1ffd71 --- /dev/null +++ b/regression-test/suites/export_p2/test_export_with_hdfs.groovy @@ -0,0 +1,111 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_export_with_hdfs", "p2") { + String nameNodeHost = context.config.otherConfigs.get("extHiveHmsHost") + String hdfsPort = context.config.otherConfigs.get("extHdfsPort") + String fs = "hdfs://${nameNodeHost}:${hdfsPort}" + String user_name = context.config.otherConfigs.get("extHiveHmsUser") + + + def table_export_name = "test_export_with_hdfs" + // create table and insert + sql """ DROP TABLE IF EXISTS ${table_export_name} """ + sql """ + CREATE TABLE IF NOT EXISTS ${table_export_name} ( + `id` int(11) NULL, + `name` string NULL, + `age` int(11) NULL + ) + PARTITION BY RANGE(id) + ( + PARTITION less_than_20 VALUES LESS THAN ("20"), + PARTITION between_20_70 VALUES [("20"),("70")), + PARTITION more_than_70 VALUES LESS THAN ("151") + ) + DISTRIBUTED BY HASH(id) PROPERTIES("replication_num" = "1"); + """ + StringBuilder sb = new StringBuilder() + int i = 1 + for (; i < 10; i ++) { + sb.append(""" + (${i}, 'ftw-${i}', ${i + 18}), + """) + } + sb.append(""" + (${i}, NULL, NULL) + """) + sql """ INSERT INTO ${table_export_name} VALUES + ${sb.toString()} + """ + qt_select_export """ SELECT * FROM ${table_export_name} t ORDER BY id; """ + + + def waiting_export = { export_label -> + while (true) { + def res = sql """ show export where label = "${export_label}" """ + logger.info("export state: " + res[0][2]) + if (res[0][2] == "FINISHED") { + def json = parseJson(res[0][11]) + assert json instanceof List + assertEquals("1", json.fileNumber[0]) + return json.url[0]; + } else if (res[0][2] == "CANCELLED") { + throw new IllegalStateException("""export failed: ${res[0][10]}""") + } else { + sleep(5000) + } + } + } + + def outFilePath = """/user/export_test/export/exp_""" + + // 1. csv test + def test_export = {format, file_suffix, isDelete -> + def uuid = UUID.randomUUID().toString() + // exec export + sql """ + EXPORT TABLE ${table_export_name} TO "${fs}${outFilePath}" + PROPERTIES( + "label" = "${uuid}", + "format" = "${format}", + "column_separator"=",", + "delete_existing_files"="${isDelete}" + ) + with HDFS ( + "fs.defaultFS"="${fs}", + "hadoop.username" = "${user_name}" + ); + """ + + def outfile_url = waiting_export.call(uuid) + + // check data correctness + order_qt_select """ select * from hdfs( + "uri" = "${outfile_url}0.${file_suffix}", + "fs.defaultFS" = "${fs}", + "hadoop.username" = "${user_name}", + "format" = "${format}"); + """ + } + + test_export('csv', 'csv', true); + test_export('parquet', 'parquet', true); + test_export('orc', 'orc', true); + test_export('csv_with_names', 'csv', true); + test_export('csv_with_names_and_types', 'csv', true); +} diff --git a/regression-test/suites/export_p2/test_export_with_s3.groovy b/regression-test/suites/export_p2/test_export_with_s3.groovy new file mode 100644 index 0000000000..da43cbbaca --- /dev/null +++ b/regression-test/suites/export_p2/test_export_with_s3.groovy @@ -0,0 +1,115 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_export_with_s3", "p2") { + + String ak = getS3AK() + String sk = getS3SK() + String s3_endpoint = getS3Endpoint() + String region = getS3Region() + String bucket = context.config.otherConfigs.get("s3ExportBucketName"); + + def table_export_name = "test_export_with_s3" + // create table and insert + sql """ DROP TABLE IF EXISTS ${table_export_name} """ + sql """ + CREATE TABLE IF NOT EXISTS ${table_export_name} ( + `id` int(11) NULL, + `name` string NULL, + `age` int(11) NULL + ) + PARTITION BY RANGE(id) + ( + PARTITION less_than_20 VALUES LESS THAN ("20"), + PARTITION between_20_70 VALUES [("20"),("70")), + PARTITION more_than_70 VALUES LESS THAN ("151") + ) + DISTRIBUTED BY HASH(id) PROPERTIES("replication_num" = "1"); + """ + StringBuilder sb = new StringBuilder() + int i = 1 + for (; i < 10; i ++) { + sb.append(""" + (${i}, 'ftw-${i}', ${i + 18}), + """) + } + sb.append(""" + (${i}, NULL, NULL) + """) + sql """ INSERT INTO ${table_export_name} VALUES + ${sb.toString()} + """ + qt_select_export """ SELECT * FROM ${table_export_name} t ORDER BY id; """ + + + def waiting_export = { export_label -> + while (true) { + def res = sql """ show export where label = "${export_label}" """ + logger.info("export state: " + res[0][2]) + if (res[0][2] == "FINISHED") { + def json = parseJson(res[0][11]) + assert json instanceof List + assertEquals("1", json.fileNumber[0]) + log.info("outfile_path: ${json.url[0]}") + return json.url[0]; + } else if (res[0][2] == "CANCELLED") { + throw new IllegalStateException("""export failed: ${res[0][10]}""") + } else { + sleep(5000) + } + } + } + + def outFilePath = """${bucket}/export/exp_""" + + def test_export = {format, file_suffix, isDelete -> + def uuid = UUID.randomUUID().toString() + // exec export + sql """ + EXPORT TABLE ${table_export_name} TO "s3://${outFilePath}" + PROPERTIES( + "label" = "${uuid}", + "format" = "${format}", + "column_separator"=",", + "delete_existing_files"="${isDelete}" + ) + WITH s3 ( + "s3.endpoint" = "${s3_endpoint}", + "s3.region" = "${region}", + "s3.secret_key"="${sk}", + "s3.access_key" = "${ak}" + ); + """ + + def outfile_url = waiting_export.call(uuid) + + // check data correctness + order_qt_select """ select * from s3( + "uri" = "http://${s3_endpoint}${outfile_url.substring(4)}0.${file_suffix}", + "ACCESS_KEY"= "${ak}", + "SECRET_KEY" = "${sk}", + "format" = "${format}" + ); + """ + } + + test_export('csv', 'csv', true); + test_export('parquet', 'parquet', true); + test_export('orc', 'orc', true); + test_export('csv_with_names', 'csv', true); + test_export('csv_with_names_and_types', 'csv', true); +}