Iceberg与SparkSQL查询操作整合
前言
spark操作iceberg之前先要配置spark catalogs,详情参考Iceberg与Spark整合环境配置。
Iceberg使用Apache Spark的DataSourceV2 API来实现数据源和catalog。
使用SQL查询
查询的时候表要按照:catalog.数据库.表名的格式
SELECT * FROM prod.db.table; -- catalog: prod, namespace: db, table: table
元数据表(如历史和快照)可以使用Iceberg表名作为命名空间。
例如,要从文件的元数据表中读取prod.db.table:
SELECT * FROM prod.db.table.files;
SQL查询的方式就和普通数据库没什么区别,只要把数据库.表名,前面加上一个catalog即可。
DataFrame查询
- 查询语法
dataframe查询iceberg表:
val df = spark.table("prod.db.table")
也可以通过DataFrameReader接口查询&#