推广 热搜: page  小红  红书  考试  数据  论文  数据分析  关键词  哪些  搜索 

iceberg整合spark3 spark iceberg

   日期:2025-01-02     移动:https://sicmodule.kub2b.com/mobile/quote/17979.html


        1、将构建好的Iceberg的spark模块jar包,复制到spark jars下

        2、配置spark参数,配置Spark Sql Catlog,可以用两种方式,基于hive和基于hadoop,这里先选择基于hadoop。修改spark conf目录下的spark-default.conf

        使用spark sql创建iceberg表,配置完毕后,会多出一个hadoop_prod.db数据库,但是注意这个数据库通过show tables是看不到的。可以直接通过use hadoop_prod;没有报错则表示配置成功。然后可以create database db;并通过以下命令建表:

        当向表中执行插入语句,可以直接通过select查询数据

注意覆盖的不是整张表的数据,只是这个分区的数据。被覆盖的数据不会被物理删除,还会存在HDFS上,除非是对表进行drop操作。

        1、Spark的默认覆盖模式是静态的,但在写入iceberg时建议使用动态覆盖模式(执行insert overwrite不用指定分区列。会将A表的数据全部覆盖B表的数据)。静态覆盖模式需要制定分区列,动态覆盖模式不需要。
        2、设置动态覆盖模式,修改 spark-default.conf,添加对应参数

        类似于每天的跑批,跟 hive 插入时手动指定分区一致,需要手动指定分区列的值。会将A表中的所有数据复制到B表的指定分区中。

        iceberg并不会物理删除数据,当执行删除操作,提示删除成功,再次查询数据。发现表中已无数据,但是存在hdfs上的物理并没有实际删除。

注意:查询历史表的时候必须是表的全称,不可用先切到 hadoop.db 库中再查 testB。

        可以查看到每次操作后的对应的快照记录,也可以查询对应快照表,快照表的表名在原表基础上加上.snapshots,也是一样必须是表的全称不能简写。

        可以在看到commit的时间,snapshot快照的id,parent_id父节点,operation操作类型,已经summary概要,summary概要字段中可以看到数据量大小,总条数,路径等信息。两张表也可以根据snapshot_id快照id进行join关联查询。

        知道了快照表和快照信息后,可以根据快照 id 来查询具体的历史信息,发进行检测是否误操作,如果是误操作则可通过 spark 重新刷新数据。查询方式如下

        隐藏分区支持的函数有 years,months,days,hours,bucket,truncate。比如接下来创建一张 testC 表,表中有id,name 和 ts时间戳。

        发现时区不对(比方说13点的数据,会放在5点的分区),修改 /opt/module/spark-3.0.1-bin-hadoop2.7/conf/spark-defaults.conf中的spark.sql.session.timeZone=GMT+8无效。

        创建testD表使用bucket函数。分桶hash算法采用Murmur3 hash,官网介绍https://iceberg.apache.org/spec/#partition-transforms。

        当向同一分区中写入多条数据,会报错,并发写的问题。

        截取长度作为分区。(待续)

        引入依赖:

3.4.1、Append

3.4.2、Overwrite

        1、动态覆盖,只会刷新所属分区数据

        2、静态覆盖,手动指定分区

注意:输出表不能存在多个分区。不然会报错

  1. 时区无法设置,见2.7。
  2. Spark Sql客户端打开,缓存无法更新,修改表数据后,得需要关了黑窗口再重新打开,查询才是更新后的数据。
  3. 表分区如果指定多个分区或分桶,那么插入批量数据时,如果这一批数据有多条数据在统一分区内,会报错
  1. 与hudi相比,没有解决小文件问题
  2. 与hudi相比,缺少行级更新,只能对标的数据按照分区进行overwrite全量覆盖
本文地址:https://sicmodule.kub2b.com/quote/17979.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号