在python中怎么建库建表

发布于 2022-09-12 04:29:56 字数 813 浏览 31 评论 0

我在DolphinDB GUI中创建了如下分布式数据库表,它是分区类型是组合分区,第一层按日期值分区,第二层按设备id范围分区。

    dbName="dfs://forwardtekDdb1"
    tableName="windTurbine"
    login("admin","123456")
    if(exists(dbName))
        dropDatabase(dbName)
        
    tableSchema = table(100:0,`id`tm`val,[INT,DATETIME,FLOAT]);
    db1 = database("",VALUE,2017.01M..2020.12M)
    db2 = database("",RANGE,0..1000*30+1)
    db = database(dbName,COMPO,[db1,db2])
    dfsTable = db.createPartitionedTable(tableSchema,tableName,`tm`id)

现在我想把它移植到python中,请问应该怎么写?我在python api readme第3.2节找到了创建分区表的例子,但它是值分区,不是组合分区,我还是不知道应该怎么写。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

逆光飞翔i 2022-09-19 04:29:56
import dolphindb as ddb

s = ddb.session()
s.connect("127.0.0.1", 8848,"admin","123456")

dbName="dfs://forwardtekDdb2"
tableName='windTurbine'
script="""
dbName='{db}'

if(exists(dbName))
    dropDatabase(dbName)

tableSchema = table(100:0,`id`tm`val,[INT,DATETIME,FLOAT]);
db1 = database("",VALUE,2017.01M..2020.12M)
db2 = database("",RANGE,0..1000*30+1)
db = database(dbName,COMPO,[db1,db2])
db.createPartitionedTable(tableSchema,'{tb}',`tm`id)
""".format(db=dbName,tb=tableName)
s.run(script)
放赐 2022-09-19 04:29:56

可以通过database函数来创建。

mydbName="dfs://forwardtekDdb1"
if(s.existsDatabase(mydbName)):
    s.dropDatabase(mydbName)

partitions1="2017.01M..2020.12M"
partitions2 = "0..1000*30+1"
s.database(dbName="db1", partitionType=keys.VALUE, partitions=partitions1, dbPath="")
s.database(dbName="db2", partitionType=keys.RANGE, partitions=partitions2, dbPath="")
s.database(dbName="db", partitionType=keys.COMPO, partitions="[db1, db2]", dbPath=mydbName)
s.run("db.createPartitionedTable(table(100:0,`id`tm`val,[INT,DATETIME,FLOAT]), `windTurbine, `tm`id)")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文