代码示例:Apache Spark™¶
本节提供使用 Apache Spark™ 在 Snowflake Open Catalog 中执行以下任务的代码示例:
配置服务连接
使用目录
列出目录
列出命名空间
创建命名空间
使用命名空间
删除命名空间
创建表
查询表
显示表格属性
列出表
删除表
所需权限¶
要执行代码示例中的命令,必须将以下权限赋予用于将 Spark 连接到 Open Catalog 的服务主体:
命令 |
所需权限 |
---|---|
显示命名空间 |
NAMESPACE_LIST |
创建命名空间 |
NAMESPACE_CREATE |
使用命名空间 |
NAMESPACE_READ_PROPERTIES |
显示表 |
TABLE_LIST |
创建或替换表 |
|
删除命名空间 |
NAMESPACE_DROP |
删除表 |
TABLE_DROP |
插入表 |
TABLE_WRITE_DATA |
从表中选择 |
TABLE_READ_DATA |
配置服务连接¶
请参阅 [在 Spark 中配置服务连接的示例](register-service-connection.md#examples)。
使用目录¶
使用目录 catalog1
:
spark.sql("use catalog1").show()
列出目录¶
列出连接的目录:
spark.sql("show catalogs").show()
列出命名空间¶
列出所连接目录的命名空间:
spark.sql("show namespaces").show()
创建命名空间¶
创建命名空间 namespace1
:
spark.sql("CREATE NAMESPACE namespace1")
使用命名空间¶
使用命名空间 namespace1
:
spark.sql("use namespace1").show()
删除命名空间¶
从目录中删除命名空间 namespace1
:
spark.sql("DROP NAMESPACE namespace1")
创建表¶
在父命名空间 namespace1
下创建 customers
表:
spark.sql ("use namespace1");
spark.sql("CREATE OR REPLACE TABLE customers (id int, custnum int) using iceberg")
查询表¶
查询 customers
表:
spark.sql ("use namespace1");
spark.sql("SELECT * FROM customers").show()
显示表格属性¶
显示 customers
表的表属性:
spark.sql("SHOW TBLPROPERTIES customers").show(50, False)
列出表¶
列出所连接目录的表:
spark.sql("show tables").show()
删除表¶
删除父命名空间 namespace1
下的 customers
表:
spark.sql ("use namespace1");
spark.sql("DROP TABLE customers")