existsPartition

语法

existsPartition(path, [tableName])

参数

path 字符串,表示分区文件夹的路径。

tableName 字符串,表示表名。

  • 若分区粒度为数据库级( database : chunkGranularity = ‘DATABASE’),可以不指定该参数。

  • 若分区粒度为表级( database : chunkGranularity = ‘TABLE’)

    • path 指定的路径包含了物理索引(通过函数 listTables 获取),可以不指定该参数。

    • 否则,必须指定该参数。

详情

检查指定分区是否存在。

例子

检查分区是否在分布式文件系统中(以下脚本需要在集群的数据节点/计算节点中执行):

$ n=1000000
$ ID=rand(10, n)
$ dates=2017.08.07..2017.08.11
$ date=rand(dates, n)
$ x=rand(10.0, n)
$ t=table(ID, date, x)

$ db = database("dfs://valueDB", VALUE, 2017.08.07..2017.08.11)
$ pt = db.createPartitionedTable(t, `pt, `date);
$ pt.append!(t);

$ listTables("dfs://valueDB")

tableName

physicalIndex

pt

s

$ existsPartition("dfs://valueDB/20170807/s");
true

//表级分区时,path 不包含物理索引,检查分区时需指定表名,否则查找不到分区信息
$ existsPartition("dfs://valueDB/20170807", `pt)
true

$ existsPartition("dfs://valueDB/20170807");
false

$ existsPartition("dfs://valueDB");
false

$ existsPartition("dfs://valueDB/20170807/s/pt");
false