在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("数据表已经存在了")
相关推荐
Re.不晚33 分钟前
Redis——分布式锁
数据库·redis·分布式
Coder_Boy_1 小时前
从单体并发工具类到分布式并发:思想演进与最佳实践(二)
java·spring boot·分布式·微服务·设计模式
weed0001 小时前
LLM Xinference 安装使用(支持CPU、Metal、CUDA推理和分布式部署)
分布式
PD我是你的真爱粉1 小时前
RabbitMQ架构实战2️⃣:分布式事务下的跨服务数据同步
分布式·架构·rabbitmq
雨言yyds19 小时前
Kafka
分布式·kafka
学到头秃的suhian1 天前
Redis分布式锁
java·数据库·redis·分布式·缓存
若水不如远方1 天前
分布式一致性原理(四):工程化共识 —— Raft 算法
分布式·后端·算法
三水不滴1 天前
千万级数据批处理实战:SpringBoot + 分片 + 分布式并行处理方案
spring boot·分布式·后端
笨蛋不要掉眼泪1 天前
从单体到分布式:一次完整的架构演进之旅
分布式·架构
会算数的⑨1 天前
Spring AI Alibaba 学习(三):Graph Workflow 深度解析(下篇)
java·人工智能·分布式·后端·学习·spring·saa