数据连接信息参数说明

在使用处理自动化工具时,需要输入“连接信息”来访问数据库或数据文件,以下是不同数据来源连接信息参数的详细释义。

  • SuperMap SDX+ (--providerType=sdx)
  • 参数名 参数释义
    --providerType
    (必填)
    数据提供方的类型,这里为 sdx,表示使用 SuperMap SDX+ 空间数据引擎访问数据。
    --dbType, --type, -T, --db-type
    (必填)
    引擎类型,支持访问多种数据库和矢量、栅格文件,数据库/文件对应的引擎类型如下:
    UDBX:--dbType=UDBX
    PostGIS:--dbType=PGGIS
    矢量文件:--dbType=VECTORFILE
    更多引擎类型请参考数据源概述
    --server, -S
    (必填)
    数据库引擎服务地址或文件路径。
    --dataset, --dt
    (必填)
    读取或保存的数据集名称。
    --CHARSET 字符集编码,仅用于矢量文件引擎类型。
    --driver 数据源连接所需的驱动名称。
    --database, --db 数据源连接的数据库名。
    --alias, -A 数据源别名。
    --user, -U 数据库登录的用户名。
    --password, --pwd 数据库登录的用户名密码。
    --maxConnPoolNum 数据源的最大连接数。
    --numPartitions, --num-parts, -N 分区数目,默认为0。
    --partitionField, --part-field 用于分区的字段名称,默认用 SmID 字段,但如果数据库引擎 (例如 PGGIS)中没有 SmID,需要用户指定分区字段。
    --idField, --id-field 用于要素对象中读取唯一的要素 ID 的字段。必须确保字段值是唯一的。如果为空,会使用默认的 SmID 字段值。
    --blockingWrite 分块写数据,对于大数据,可以有效提高性能,默认为 true。

    举例:

    • 连接UDBX:--providerType=sdx --dbType=UDBX --server=F:\data\landuse.udbx --dataset=DLTB
    • 连接PostGIS:--providerType=sdx --dbType=PGGIS --server=127.0.0.1 --database=postgis --user=postgres --password=uitest --maxConnPoolNum=10 --dataset=DLTB
    • 连接ArcGIS for Oracle:--providerType=sdx --server=127.0.0.1:3452/xe --user=testdb --password=testdb --alias=test --maxConnPoolNum=1 --dataset=dt --dbType=ARCSDE_ORACLE
    • 连接矢量文件(ShapeFile):--providerType=sdx --server=E:\data\DLTB.shp --dataset=DLTB --CHARSET=ANSI --dbType=VECTORFILE

  • JDBC (--providerType=jdbc)
  • 参数名 参数释义
    --providerType
    (必填)
    数据提供方的类型,这里为 jdbc,表示使用 JDBC 提供的 Java API 访问数据。
    --dbType, --type, -T, --db-type
    (必填)
    仅支持PostGIS 和 OracleSpatial数据库,并且在集群模式下可以实现分布式读写。
    --host
    (必填)
    数据库服务地址。
    --port
    (必填)
    数据库服务端口号,默认为0。
    --database, --db 数据源连接的数据库名。
    --dataset, --dt
    (必填)
    读取或保存的数据集名称。
    --schema 要访问的数据库模式。
    --user, -U 数据库登录的用户名。
    --password, --pwd 数据库登录的用户名密码。
    --numPartitions, --num-parts, -N 分区数目,默认为0。
    --partitionField, --part-field 用于分区的字段名称。
    --predicates 分区条件数组。

    举例:

    • 连接OracleSpatial :--providerType=jdbc --host=127.0.0.1 --port=1521 --schema=testosp --database=orcl --user=testosp --password=testosp --dbtype=oracle --table=SMDTV(注意:此处需要填写数据集表名。)
    • 连接PostGIS:--providerType=jdbc --host=127.0.0.1 --port=5432 --schema=postgres --database=uitest --user=postgres --password=uitest --dbtype=postgis --dataset=DLTB

  • DSF (--providerType=dsf)
  • 参数名 参数释义
    --providerType
    (必填)
    数据提供方的类型,这里为 dsf,表示使用 DSF 分布式空间文件引擎访问数据。
    --path, -P, --url
    (必填)
    DSF 目录地址,支持本地目录和 HDFS 目录。
    --bounds, -B 查询范围,主要用于范围查询,, as-dsf-rdd 为 true 时无效。相比使用 Query 中的 box 查询,queryBounds 会利用一级索引进行一次过滤,性能更高效。
    --fields, --result-fields 需要读取的字段名,多个字段以逗号分隔。
    --as-dsf-rdd 是否以 DSFFeatureRDD 方式读取,默认 false。如果为 true,则以 DSFFeatureRDD 读取,在进行两个数据集的空间关系或空间判断时,需要确保两个 DSFFeatureRDD 数据集的分区索引一致,否则用户可以设置为 false,以 FeatureRDD 方式读取,这样,在进行两个数据集的空间运算或判断时会统一建立分区索引。

    举例:

    • 本地目录(Windows 系统):--providerType=dsf --path=E:/data/Zoo_pt
    • 本地目录(Linux 系统):--providerType=dsf --path=/home/data/Zoo_pt
    • HDFS 目录 :--providerType=dsf --path=hdfs://127.0.0.1:9000/data/DLTB

  • CSV (--providerType=csv)
  • 参数名 参数释义
    --providerType
    (必填)
    数据提供方的类型,这里为 csv,表示数据来源为 csv 文件。
    --path, -P, --url
    (必填)
    csv 文件地址,支持本地目录和 HDFS 目录。
    --fields, -F 待导入的字段,以逗号分隔,csv 有表头时,传入字段名,并将 FirstRowIsField 设为 true,没表头时,按照列序,传入 col0,col1 等。
    --geofields, --geo-fields, -GF 待导入的空间信息字段,以逗号分隔。传入一列代表线或面数据,两列代表点数据,更多则无效。csv 有头时,传入字段名,并将 FirstRowIsField 设为 true,没头时,按照列序,传入 col0,col1 等。注意:仅支持WGS84坐标系的经纬度坐标数据,并且范围必须在[-180,180],[-90,90]之间。
    --firstRowIsField, --first-as-field, -FAF 第一行是否是表头,作为字段名。
    --idField, --id-field, -IF 指定 id 字段名,如果不指定默认是 uuid。
    --modifyDesFieldTypes, --des-field-type, -DFT 指定字段的字段类型,如不指定则 W 默认读取字段为字符串型,输入格式为'字段名->字段类型,字段名->字段类型'。
    --timeZoneOffset,--time-Zone-Offset,-TZO 当modifyDesFieldTypes参数中指定字段类型为date时,默认为UTC时间,可通过此参数进行时差换算,格式为“+/-hh:mm:ss”。例如换算为北京时间:--timeZoneOffset=+08:00:00,表示UTC+8小时。

    举例:

    • 本地目录(Windows 系统):--providerType=csv --path=E:/data/Zoo_pt
    • 本地目录(Linux 系统):--providerType=csv --path=/home/data/Zoo_pt
    • HDFS 目录 :--providerType=csv --path=hdfs://127.0.0.1:9000/data/DLTB

  • ESRI File Geodatabase (--providerType=gdb)
  • 参数名 参数释义
    --providerType
    (必填)
    数据提供方的类型,这里为 gdb,表示数据来源为 ESRI File Geodatabase。
    --path, -P, --url
    (必填)
    GDB 文件夹地址,支持本地目录和 HDFS 目录。
    --dataset, --table GDB 中需要读取的数据集名称。
    --minPartitions, --min-part, -M Spark RDD 最小分区数,默认0。

    举例:

    • 本地目录:--providerType=gdb --path=F:/data/landuse.gdb --table=DLTB

  • ShapeFile (--providerType=shape)
  • 参数名 参数释义
    --providerType
    (必填)
    数据提供方的类型,这里为 shape,表示数据来源为 ShapeFile 矢量文件。
    --path, -P, --url
    (必填)
    ShapeFile 文件地址,支持本地目录和 HDFS 目录。注意:这里的地址为 ShapeFile 文件所在的文件夹地址。

    举例:

    • 本地目录:--providerType=shape --path=E:\data\shp

  • Elasticsearch (--providerType=elasticsearch)
  • 参数名 参数释义
    --providerType
    (必填)
    数据提供方的类型,这里为 elasticsearch 或 elastic,表示数据来源为 Elasticsearch 。
    --dataset, --table
    (必填)
    指定要读取的数据表名。
    --index
    (必填)
    索引名称。
    --es.nodes, --nodes
    (必填)
    ES 服务器地址。
    --es.port, --port
    (必填)
    ES 服务端口。
    --es.batch.size.bytes, --batch-size-bytes, --BSB 批量写入的大小,默认为 1 MB。
    --es.batch.size.entries, --batch-size-entries, --BSE 与 es.batch.size.bytes 相匹配,执行批量更新,默认为1000。
    --es.internal.es.cluster.name, --cluster-name, CN 集群名,集群版本为5.x和6.x读写需要设置,7.x版本可设置可以不设置。
    --es.mapping.id 待写入的字段、属性,其名称包含es.mapping.id。
    --number_of_shards 分片数,默认为5。
    --number_of_replicas 副本数,默认为1。

    举例:

    • --providerType=elasticsearch --index=test --table=test --nodes=localhost --port=9200

  • SimpleJson (--providerType=simplejson)
  • 参数名 参数释义
    --providerType
    (必填)
    数据提供方的类型,这里为 simplejson,表示数据来源为 SimpleJson 文件。
    --path, -P, --url
    (必填)
    SimpleJson 文件地址,支持本地目录和 HDFS 目录。
    --minPartitions, --min-part Spark RDD 最小分区数,默认为0。
    --metaInfo, --meta-info, --meta SimpleJson 文件元信息或元信息地址,用户可以指定独立的 SimpleJson 文件元信息
    --idField, --id-field, -IF 指定 feature ID 的字段,如果 SimpleJson 的对象没有 featureID,可以通过 --id-field 指定一个字段用于构造 featureID, 但用户需确保字段值唯一

    举例:

    • --providerType=simplejson --path=E:\data\Region.json