代码示例:Apache Spark™

本节提供使用 Apache Spark™ 在 Snowflake Open Catalog 中执行以下任务的代码示例:

  • 配置服务连接

  • 使用目录

  • 列出目录

  • 列出命名空间

  • 创建命名空间

  • 使用命名空间

  • 删除命名空间

  • 创建表

  • 查询表

  • 显示表格属性

  • 列出表

  • 删除表

所需权限

要执行代码示例中的命令,必须将以下权限赋予用于将 Spark 连接到 Open Catalog 的服务主体:

命令

所需权限

显示命名空间

NAMESPACE_LIST

创建命名空间

NAMESPACE_CREATE

使用命名空间

NAMESPACE_READ_PROPERTIES

显示表

TABLE_LIST

创建或替换表

  • TABLE_WRITE_DATA
  • TABLE_CREATE

删除命名空间

NAMESPACE_DROP

删除表

TABLE_DROP

插入表

TABLE_WRITE_DATA

从表中选择

TABLE_READ_DATA

配置服务连接

请参阅 [在 Spark 中配置服务连接的示例](register-service-connection.md#examples)。

使用目录

使用目录 catalog1

spark.sql("use catalog1").show()
Copy

列出目录

列出连接的目录:

spark.sql("show catalogs").show()
Copy

列出命名空间

列出所连接目录的命名空间:

spark.sql("show namespaces").show()
Copy

创建命名空间

创建命名空间 namespace1

spark.sql("CREATE NAMESPACE namespace1")
Copy

使用命名空间

使用命名空间 namespace1

spark.sql("use namespace1").show()
Copy

删除命名空间

从目录中删除命名空间 namespace1

spark.sql("DROP NAMESPACE namespace1")
Copy

创建表

在父命名空间 namespace1 下创建 customers 表:

spark.sql ("use namespace1");
spark.sql("CREATE OR REPLACE TABLE customers (id int, custnum int) using iceberg")
Copy

查询表

查询 customers 表:

spark.sql ("use namespace1");
spark.sql("SELECT * FROM customers").show()
Copy

显示表格属性

显示 customers 表的表属性:

spark.sql("SHOW TBLPROPERTIES customers").show(50, False)
Copy

列出表

列出所连接目录的表:

spark.sql("show tables").show()
Copy

删除表

删除父命名空间 namespace1 下的 customers 表:

spark.sql ("use namespace1");
spark.sql("DROP TABLE customers")
Copy
语言: 中文