更新时间:2026-10-09 GMT+08:00
分享

Spark对接Paimon Catalog

AI DataLake Spark支持使用LakeFormation管理Paimon表的元数据和鉴权(行、列权限),简化数据湖治理,实现统一元数据管理、细粒度权限控制和事务性保证。Spark对Paimon的读写基于数据目录Catalog,您可以根据业务场景选择数据目录。

约束与限制

  • 已创建LakeFormation实例并规划元数据。

    LakeFormation Catalog需要和AI DataLake工作空间位于同一地域,否则无法在后续流程中完成关联。

  • 配置Paimon数据目录后,生效优先级为:作业级别配置> 端点级别配置,如果在端点配置参数,SparkSQL作业需要重启端点,配置修改才会生效。

配置数据目录

使用默认数据目录

AI DataLake Spark默认数据目录为Iceberg,即系统已默认将spark.aidatalake.lakehouse.default.format配置为iceberg,无需您手动配置。

如果您需要设置Paimon为默认数据目录,需要将spark.aidatalake.lakehouse.default.format配置为paimon。

  • 在API接口的spark_config中配置参数。
    接口详情请参见RunSparkJob或RunSparkSql。API请求示例如下。
    "endpoint_name": "spark-sql-test",
      "catalog_context": {
        "catalog_name": "your_catalog_name",// 任意catalog。
        "database_name": "default"
      },
      "statement": "SELECT * FROM your_table LIMIT 10",
      "spark_config": {
        "spark.aidatalake.lakehouse.default.format": "paimon"
      }
    }
  • 在创建端点或者修改端点页面配置
    • 在创建端点页面配置
      图1 创建端点页面配置
    • 在端点修改页面配置
      图2 端点修改页面配置

使用自定义数据目录

  • Paimon不支持视图和自定义函数。
  • 如果当前选择的非自定义Catalog,则走您配置的默认数据目录(即spark.aidatalake.lakehouse.default.format的参数值)。

配置spark.sql.catalog.{paimon_catalog_name}=org.apache.paimon.spark.SparkCatalog,其中paimon_catalog_name修改为您的目标数据目录名称。

配置方法:

  • 在API接口的spark_config中配置参数。
    接口详情请参见RunSparkJob或RunSparkSql。API请求示例如下。
     "endpoint_name": "spark-sql-test",
      "catalog_context": {
        "catalog_name": "paimon_catalog_name",//和配置中的catalog名字保持一致,此Catalog只能用于paimon。
        "database_name": "default"
      },
      "statement": "SELECT * FROM paimon_catalog_name.db.your_table LIMIT 10",//支持三段式配置。
      "spark_config": {
        "spark.sql.catalog.paimon_catalog_name": "org.apache.paimon.spark.SparkCatalog"
      }
    }
  • 在创建端点或者修改端点页面配置
    • 在创建端点页面配置

    • 在端点修改页面配置

相关文档