基本的CRUD操作

Apache Iceberg作为分析数据集的开放表格式,提供了很好的用户易用性。Iceberg支持SQL或DataFrame API的方式来读写数据湖表。

要在Apache Spark中创建Iceberg表,使用spark-shell或spark.sql(...)来运行CREATE TABLE命令。Apache Spark 3.0可以使用USING Iceberg子句在任何Iceberg catalog中创建表,Iceberg将把Spark中的列类型转换为相应的Iceberg类型。

要创建Iceberg表,有两种catalog目录选项:

  • (1) HadoopCatalog:支持存储在HDFS或本地文件系统中的表。
  • (2) HiveCatalog:使用Hive Metastore来通过存储对最新元数据文件的引用来跟踪Iceberg表。

在11.2.1节,已经创建了HadoopCatalog类型的hadoop_catalog和HiveCatalog类型的hive_prod。接下来,在hadoop_prod目录中创建数据库和表,代码如下:

// hadoop_prod是前面定义的基于路径的catalog
spark.sql("""
    CREATE TABLE hadoop_prod.my_db.my_tb1 ( 
      id bigint,
      data string
    ) 
    USING iceberg
""")

查看表是否创建成功,代码如下:

spark.sql("SHOW TABLES IN hadoop_prod.my_db") ......
          

......

抱歉,只有登录会员才可浏览!会员登录


《Spark原理深入与编程实战》