pyspark 新接口 DataSource V2 写法 写入paimon为例

5种写入动作

复制代码
spark新接口 DataSource V2:
    介绍: 
        df.writeTo(...) 返回的是 DataFrameWriterV2,是 Spark 3.x 引入的 DataSource V2 写接口,与旧的 df.write (DataFrameWriter V1) 是两套完全不同的 API
    案例:
        df.writeTo("paimon.bi_dwd.tb1") \
          .using("paimon") \
          .replace()
    api 区别:
        .create() 
            等价 SQL:CREATE TABLE ... AS SELECT ...(CTAS)
            表不存在:建表 + 写数据
            表已存在:抛异常
        
        .createOrReplace()
            等价 SQL:CREATE OR REPLACE TABLE ... AS SELECT ...
            表不存在:建表 + 写数据
            表已存在:先 DROP 再 CREATE,相当于完整重建表并写入新数据
            注意:会丢失原表所有数据及表结构定义,适合每次全量刷新场景
        .replace()
            等价 SQL:REPLACE TABLE ... AS SELECT ...
            表不存在:抛异常
            表已存在:DROP + CREATE 重建写入
        .append()
            等价 SQL:INSERT INTO ...
            向已有表追加数据(INSERT INTO 语义)
            表不存在会报错,不会自动建表
            不支持 .using() / .tableProperty()(表已存在,无需配置)
        .overwritePartitions()
            等价 SQL:INSERT OVERWRITE ...(动态分区模式)
            覆盖 DataFrame 中涉及到的分区,其他分区数据保留
            相当于 spark.sql.sources.partitionOverwriteMode=dynamic 的 INSERT OVERWRITE

接口对比

案例

动态覆盖的分区表 且表可能不存在

python 复制代码
writer = (
    df_sink.writeTo("paimon.db1.tb1")
    .using("paimon")
    .tableProperty("bucket", "16")
    .tableProperty("bucket-key", "uid")
    .partitionedBy("dt")
)

try:
    writer.overwritePartitions()
except Exception:
    # 表不存在时 overwritePartitions 会抛异常,改用 create
    writer.create()
相关推荐
演艺大赏13 分钟前
NiFi 的权限模型不是 RBAC:users.xml、authorizers.xml 与组件级策略
大数据
yuanyuan3342 小时前
2026枣庄带检测报告伸缩门品牌测评|本地服务
大数据·数据库·人工智能·伸缩门
严肃小白兔2 小时前
Cloudflare Durable Objects 支持自动重试:分布式调用如何避免重复执行?
分布式
方方洛3 小时前
ray教程-27-附录F-RayClient与runtime_env与多语言
人工智能·分布式·机器学习
玖米GEO运营王总监4 小时前
2026年账号矩阵协同效应怎么量化:三个指标与公式结构
java·大数据·数据库
飞飞传输16 小时前
飞驰云联文件交换建设方法论:从单点传输到持续治理
大数据·运维·安全
得帆低代码PaaS16 小时前
企业级 Agent 架构:MCP、Integration、数据与治理能力
大数据·人工智能·架构·ai agent·企业数字化·mcp
阿里云大数据AI技术1 天前
EMR Serverless Ray:让 AI 推理融入数据处理
人工智能·spark
TDengine (老段)1 天前
TDengine IDMP 十大实用功能(9)
大数据·数据库·人工智能·物联网·时序数据库·tdengine·idmp
播播资源1 天前
同账户实测 11 个多模态模型:图像 0.03 元起、竖屏视频 8 元一条,最贵和最便宜差 267 倍
大数据·人工智能·深度学习