在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("数据表已经存在了")
相关推荐
观望过往1 小时前
Kafka 全方位详细介绍:从架构原理到实践优化
分布式·架构·kafka
LB21122 小时前
Redis黑马点评 分布式锁
数据库·redis·分布式
回家路上绕了弯5 小时前
接口响应时间优化指南:从秒级到毫秒级的全链路方案
分布式·后端
RestCloud5 小时前
OceanBase 分布式数据库的 ETL 实践:从抽取到实时分析
数据库·分布式·postgresql·oceanbase·etl·数据处理·数据同步
西***63477 小时前
从信号零损耗到智能协同:高清混合矩阵全链路技术拆解,分布式可视化系统十大趋势重塑行业
分布式·线性代数·矩阵
菜鸡儿齐16 小时前
kafka简介
分布式·kafka
周杰伦_Jay17 小时前
【实战|旅游知识问答RAG系统全链路解析】从配置到落地(附真实日志数据)
大数据·人工智能·分布式·机器学习·架构·旅游·1024程序员节
兜兜风d'19 小时前
RabbitMQ事务机制详解
数据库·spring boot·分布式·rabbitmq·ruby·java-rabbitmq
ifeng091819 小时前
HarmonyOS分布式任务调度——跨设备智能任务分配与迁移
分布式·华为·harmonyos
9ilk19 小时前
【仿RabbitMQ的发布订阅式消息队列】--- 模块设计与划分
c++·笔记·分布式·后端·中间件·rabbitmq