在dolphinDB上直接保存一个dataframe为分布式数据表

步骤1:获取链接

py 复制代码
import dolphindb as ddb
from loguru import logger

def get_dolphin_session():
    """获取dolphinDB的session"""
    dolphin_config = {
        "host": "127.0.0.1",
        "port": 13900,
        "username": "admin",
        "password": "123456",
    }
    s = ddb.session()
    _result = s.connect(dolphin_config['host'], dolphin_config['port'], dolphin_config['username'],
                        dolphin_config['password'])
    if not _result:
        logger.error("DolphinDB 数据库无法连接!!")
        return None
    return s

步骤2:开始保存数据

这里博主打包了一个工具类:

py 复制代码
def dolphin_append_data_by_dt(dolphin_db_path, db_table_name, dataframe,
                              partition_col="trade_date"):
    """直接保存dataframe的数据到dolphin_db中
    注意:dataframe的index无法添加
    -----------------------------
    dolphin_db_path: 为要保存的数据库,示例:"dfs://my_db"
    db_table_name: 为要保存的表名称,示例:"my_table"
    partition_col: 用于指定创建数据库的时候作为分区的列(这里需要根据自己的dataframe修改,比如博主想按照日期分区,对应的博主的dataframe中有一列叫trade_date)
    """
    dataframe.reset_index(inplace=True, drop=True)
    if not s.existsTable(dolphin_db_path, db_table_name):  # 如果表不存在,按照当前样式的文件创建数据表
        _db = s.database(dbPath=dolphin_db_path)
        _table = s.table(data=dataframe)
        _db.createPartitionedTable(table=_table, tableName=db_table_name, partitionColumns=partition_col).append(_table)
        return # 保存完成
    else:
    	print("数据表已经存在了")
相关推荐
04Koi.8 小时前
RabbitMQ--介绍
分布式·rabbitmq
小傅哥12 小时前
【分享】拼团交易平台系统,分布式、高并发、微服务
分布式·微服务·状态模式
九河云13 小时前
电商直播流量爆发式增长,华为云分布式流量治理与算力调度服务的应用场景剖析
分布式·科技·华为云·电商·传统
归梧谣16 小时前
部署Zabbix企业级分布式监控
分布式·zabbix
工藤学编程20 小时前
深入浅出 RabbitMQ:简单队列实战指南
分布式·rabbitmq·ruby
工藤学编程1 天前
深入浅出 RabbitMQ:工作队列实战(轮训策略VS公平策略)
分布式·rabbitmq
xujinwei_gingko1 天前
项目架构演进
分布式·微服务·架构
zzywxc7871 天前
PyTorch分布式训练深度指南
人工智能·pytorch·分布式·深度学习·wpf·技术栈深潜计划
经典19922 天前
从单体到分布式:解锁架构进化密码
分布式·架构
小满和小晨2 天前
Redis+Lua的分布式限流器
redis·分布式·lua