实践数据湖iceberg 第十课 快照删除

Flink SQL:DROP Statements 阅读详情

系列文章目录

实践数据湖iceberg 第一课 入门
实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式
实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg
实践数据湖iceberg 第四课 在sqlclient中,以sql方式从kafka读数据到iceberg(升级版本到flink1.12.7)
实践数据湖iceberg 第五课 hive catalog特点
实践数据湖iceberg 第六课 从kafka写入到iceberg失败问题 解决
实践数据湖iceberg 第七课 实时写入到iceberg
实践数据湖iceberg 第八课 hive与iceberg集成
实践数据湖iceberg 第九课 合并小文件
实践数据湖iceberg 第十课 快照删除



前言

如第九课所讲,对文件进行合并,只是生成新的合并文件和快照文件,没有对原来的小文件进行删除。 本节,测试一下旧的数据删除,删旧数据,需要通过删旧快照进行,详情请看下文

1.基于hive的catalog,对表进行小文件合并代码

package org.example

import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
import org.apache.hadoop.conf.Configuration
import org.apache.iceberg.catalog.{Namespace, TableIdentifier}
import org.apache.iceberg.flink.{CatalogLoader, TableLoader}
import org.apache.iceberg.flink.actions.Actions
import org.apache.log4j.{Level, Logger}
import org.slf4j.LoggerFactory
import java.util
import java.util.concurrent.TimeUnit
object FlinkDataStreamSmallFileCompactTest {
  private var logger: org.slf4j.Logger = _
  def main(args: Array[String]): Unit = {
    logger = LoggerFactory.getLogger(this.getClass.getSimpleName)
    Logger.getLogger("org.apache").setLevel(Level.INFO)
    Logger.getLogger("hive.metastore").setLevel(Level.WARN)
    Logger.getLogger("akka").setLevel(Level.WARN)

    // hadoop catalog
    val tablePath = "hdfs:///user/hive/warehouse/iceberg_db/iceberg_table"

    // hive catalog
    val env = StreamExecutionEnvironment.getExecutionEnvironment
    System.setProperty("HADOOP_USER_NAME", "root")
    val map = new util.HashMap[String,String]()
    map.put("type", "iceberg")
    map.put("catalog-type", "hive")
    map.put("property-version", "2")
    map.put("/warehouse", "/user/hive/warehouse")
//    map.put("datanucleus.schema.autoCreateTables", "true")
//    压缩小文件
//    快照过期处理
    map.put("uri", "thrift://hadoop101:9083")
    val iceberg_catalog = CatalogLoader.hive(
      "hive_catalog6",//catalog名称
      new Configuration(),
      new util.HashMap()
    )
    val identifier = TableIdentifier.of(Namespace.of("iceberg_db6"), //db名称
      "behavior_log_ib6")//表名称
    val loader = TableLoader.fromCatalog(iceberg_catalog, identifier)
    loader.open()
    val table = loader.loadTable()
    Actions.forTable(env, table)
      .rewriteDataFiles
      .maxParallelism(5)
      .targetSizeInBytes(128 * 1024 * 1024)
      .execute
    // 清除历史快照
    val snapshot = table.currentSnapshot
    // val old = snapshot.timestampMillis - TimeUnit.MINUTES.toMillis(5)
    if (snapshot != null) {
      table.expireSnapshots
        .expireOlderThan(snapshot.timestampMillis)
        .commit()
    }
  }
}

2. 合并运行过程

以下输出是,每间隔几秒执行一次
data目录最开始是17978 个,执行一段时间后,才执行查询命令
分析日志:先合并data目录,再合并medata目录,data的文件个数由17978->22个,metadata有26226->8716。 metadata是否还能继续合并?

[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
   5000   39995  994818
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata |wc
  26226  209803 5269123
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
   3578   28619  711840
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
   3403   27219  677015
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
   3213   25699  639205
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
   3029   24227  602589
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
   2713   21699  539705
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata |wc
  26226  209803 5269123
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
   2200   17595  437618
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata |wc
  26226  209803 5269123
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
   1703   13619  338715
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
     22     171    4194
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
     22     171    4194
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
     22     171    4194
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata|wc
  25344  202747 5102415
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata|wc
  24937  199491 5025486
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
     22     171    4194
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata|wc
  24447  195571 4932870
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata|wc
  23667  189331 4785445
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata|wc
  20402  163211 4168329
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata|wc
   8716   69723 1751708
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata|wc
   8716   69723 1751708
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/metadata|wc
   8716   69723 1751708
[root@hadoop103 hadoop]#    hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data |wc
     22     171    4194

合并后,data的内容:

[root@hadoop103 hadoop]#     hadoop fs -ls hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data
Found 21 items
-rw-r--r--   2 root supergroup     173182 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00000-0-3c21e5b1-54e8-42b1-8bdc-a0b8f1514ee1-00001.parquet
-rw-r--r--   2 root supergroup     173037 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00000-0-3c21e5b1-54e8-42b1-8bdc-a0b8f1514ee1-00002.parquet
-rw-r--r--   2 root supergroup     173149 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00000-0-3c21e5b1-54e8-42b1-8bdc-a0b8f1514ee1-00003.parquet
-rw-r--r--   2 root supergroup    3302206 2022-01-27 14:38 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00000-0-cdcc5019-0c59-41e4-80c6-1d4185455065-00001.parquet
-rw-r--r--   2 root supergroup        508 2022-01-26 11:35 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00000-0-dd8bc29f-831a-4904-830e-2ef56e4a4743-08707.parquet
-rw-r--r--   2 root supergroup     173032 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00001-0-139af0f5-d3ee-4f35-bd2e-73ce2aaf4792-00001.parquet
-rw-r--r--   2 root supergroup     173113 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00001-0-139af0f5-d3ee-4f35-bd2e-73ce2aaf4792-00002.parquet
-rw-r--r--   2 root supergroup     173124 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00001-0-139af0f5-d3ee-4f35-bd2e-73ce2aaf4792-00003.parquet
-rw-r--r--   2 root supergroup        552 2022-01-26 11:35 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00001-0-e9e8a782-fa82-4c4d-9786-c05b8aab251a-08707.parquet
-rw-r--r--   2 root supergroup       5995 2022-01-27 11:52 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00002-0-a0f46641-b14d-4f8b-a16e-4c768bcba775-00109.parquet
-rw-r--r--   2 root supergroup     173153 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00002-0-fe001b68-3753-44a7-adb4-63d43c8b3226-00001.parquet
-rw-r--r--   2 root supergroup     168653 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00002-0-fe001b68-3753-44a7-adb4-63d43c8b3226-00002.parquet
-rw-r--r--   2 root supergroup     173288 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00002-0-fe001b68-3753-44a7-adb4-63d43c8b3226-00003.parquet
-rw-r--r--   2 root supergroup     173023 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00002-0-fe001b68-3753-44a7-adb4-63d43c8b3226-00004.parquet
-rw-r--r--   2 root supergroup     173223 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00003-0-1d71db79-abf1-4088-9282-bc907e45e262-00001.parquet
-rw-r--r--   2 root supergroup     173039 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00003-0-1d71db79-abf1-4088-9282-bc907e45e262-00002.parquet
-rw-r--r--   2 root supergroup     172976 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00003-0-1d71db79-abf1-4088-9282-bc907e45e262-00003.parquet
-rw-r--r--   2 root supergroup     172950 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00003-0-1d71db79-abf1-4088-9282-bc907e45e262-00004.parquet
-rw-r--r--   2 root supergroup     540168 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00004-0-fea6f5d5-759f-4769-9ced-b3ecca214e36-00001.parquet
-rw-r--r--   2 root supergroup     173059 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00004-0-fea6f5d5-759f-4769-9ced-b3ecca214e36-00002.parquet
-rw-r--r--   2 root supergroup     172866 2022-01-27 14:16 hdfs://ns/user/hive/warehouse/hive_catalog6/iceberg_db6.db/behavior_log_ib6/data/00004-0-fea6f5d5-759f-4769-9ced-b3ecca214e36-00003.parquet

3.是否能多次合并?

只跑删快照代码,发现删不动了。
在这里插入图片描述
合并代码继续跑,发现不再合并(跑了几次都是这样)
在这里插入图片描述

总结

数据文件减少明显,metadata还存在很多,没法减少(只减少为原来的1/3),经过分析删除的是snapshot文件和manifiest文件,metadata.json没有删除(剩余没删掉的就是metadata.json)。

表数据没有变化的情况下,多次进行合并的效果跟合并一次是一样的。

有个疑问:对于分区表的小文件删除,是怎样的呢?能否支持基于分区进行合并?
请看下一课

数据湖技术之Iceberg-01 原理解析、特性演进与Hive集成指南 数据湖技术是集中存储多源异构数据的解决方案,支持批流一体处理。传统数据仓库难以满足实时分析需求,而Kappa架构存在存储和查询限制。Apache Iceberg作为开放表格式,支持ACID事务、分区演化、模式变更等特性,实现存储层统一。其分层元数据设计(Snapshot、Manifest等)与轻量级集成能力,解决了实时数仓的痛点,成为大数据领域的重要技术。 阅读详情

相关推荐

数据湖存储解决方案之Iceberg

Apache Iceberg 是由 Netflix 开发开源的,其于2018年11月16日进入 Apache 孵化器,是 Netflix 公司数据仓库基础。Apache Iceberg设计初衷是为了解决Hive离线数仓计算慢的问题,经过多年迭代已经发展成为构建数据湖服务的表格式标准。Iceberg 本质上是一种专为海量分析设计的表格式标准,可为主流计算引擎如 Presto、Spark 等提供高性能的读写和元数据管理能力。

marui156的专栏 7950

Iceberg 合并datafiles、manifest files,清除过期snapshot、删除孤立文件

文章介绍了数据湖组件iceberg 表相关的治理,包括datafile合并、metadata file合并、孤立文件删除、过期快照删除等操作。

xhaoDream的博客 1510

实践数据湖iceberg 第十二课 catalog是什么

系列文章目录 实践数据湖iceberg 第一课 入门 实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式 实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg 实践数据湖iceberg 第四课 在sqlclient中,以sql方式从kafka读数据到iceberg(升级版本到flink1.12.7) 实践数据湖iceberg 第五课 hive catalog特点 实践数据湖iceberg 第六课 从kafka写入到iceber

spark_dev的博客 3849

实践数据湖iceberg 第三十九课 清理快照前后数据文件变化分析

分析hive_iceberg_catalog.system.expire_snapshots()命令前后,数据湖表底层发生的变更

spark_dev的博客 1676

大数据的下一代变革-数据湖之Iceberg

1. 什么是数据湖 1.1 什么是数据湖 数据湖是一个集中式的存储库,允许以任意模式存储多个来源,所有结构化和非结构化数据,可以按照原样存储数据,无需对数据进行结构化处理,并运行不同类型的分析,对数据进行加工,例如:大数据处理,实时分析,机器学习,以指导做出更好的决策。 1.2 大数据为什么需要数据湖 当前基于Hive的离线数据仓库已经非常成熟,在传统的离线数据仓库中对记录级别的数据进行更新是非常麻烦的,需要对待更新的数据所属的整个分区,甚至时整个表进行全面覆盖才行,由于离线数仓多级逐层加工的架构设计,数据

wenqi 6181

Apache Iceberg结合Parquet列式存储:数据湖事务一致性实践

你有没有遇到过这样的场景?这些问题的根源,在于。Parquet作为列式存储格式,解决了查询性能问题,但数据写入、更新、删除的原子性、隔离性全得靠工程师手动保证——这在大规模数据场景下,几乎是「不可能完成的任务」。而Apache Iceberg的出现,正好补上了数据湖的「事务层」短板。当Iceberg与Parquet结合时,既能保留列式存储的查询效率,又能实现等企业级特性。这不是「1+1=2」的简单组合,而是「数据湖从野蛮生长到工业化运营」的关键一步。

AI智能探索者的博客 1126

iceberg snapshots快照删除接口源码分析

iceberg快照删除接口提供了一系列方法来控制过期快照的删除行为。通过调用不同的方法,可以设置要过期的快照ID、过期时间戳以及保留最近祖先快照的数量等。此外,还可以传递替代的删除实现和执行删除的ExecutorService。方法设置是否清理底层清单文件和数据文件

wang2leee的博客 568

Apache Iceberg 深度解析:构建企业级数据湖的最佳实践

在数字经济时代,数据已成为企业最核心的战略资产之一。为了充分挖掘数据价值,企业纷纷构建数据湖,期望将海量、多源、异构的数据汇聚一处,进行统一存储和分析。数据可靠性差:缺乏强事务保证,容易出现数据不一致、部分写入或脏数据。元数据管理混乱:依赖于Hive Metastore的简单元数据模型,难以支持复杂的表结构演化和细粒度的数据组织。查询性能低下:基于目录的分区方式导致文件扫描范围过大,谓词下推能力有限。数据治理困难:缺乏有效的版本控制、行级权限和数据血缘追踪能力。Schema演化痛苦。

AI Python 编程之道的博客 990

Iceberg从入门到精通系列之一:Iceberg核心概念理解

Manifest(清单):描述Table状态的元数据,包括Table的Schema(模式)、Partition Spec(分区规范)和Current Snapshot ID(当前快照ID)等信息。Partition(分区):将数据按照指定规则分隔成的逻辑单元,Partition由一个或多个数据块(Block)组成。Block(块):其中存储的是Partition的数据,每个块都有一个唯一的ID,块的大小可以在表级别进行配置。创建了一个包含id和name字段的表,并且定义了以id字段为分区键的分区规则。

zhengzaifeidelushang的博客 8687

数据湖技术选型指南:Iceberg vs Delta Lake vs Paimon

摘要:主流开源数据湖格式对比分析 本文对比了三种主流开源数据湖格式(Iceberg、Delta Lake、Paimon)的核心原理与实现差异。

Kami‘s home 1053

Hudi、Iceberg 、 Paimon 数据湖选型对比

Hudi、Iceberg 和 Paimon 是当前数据湖领域的三大主流开源框架,均致力于解决数据湖场景下的等核心问题,但设计理念和适用场景存在差异。

LXP 2509

实践数据湖iceberg 第四十课 iceberg的sql运维方式(合并文件、合并元数据、清理历史快照)

iceberg的sql化运维(合并文件、合并元数据、清理历史快照)

spark_dev的博客 1570

iPhone用户必看:不装App也能搞定GitHub 2FA验证的3种方法(附恢复码管理技巧)

本文为iPhone用户提供了无需安装第三方App即可完成GitHub双重身份验证(2FA)的三种原生方案:利用相机扫码与iCloud钥匙串自动填充、使用iCloud钥匙串内置的TOTP验证码生成器,以及借助Safari浏览器扩展。文章详细解析了每种方法的操作步骤、适用场景,并重点强调了恢复码的安全管理与多层备份策略,帮助开发者在提升账户安全的同时,享受苹果生态的无缝便捷体验。

weixin_29324401的博客 653

实践数据湖iceberg 第二十四课 iceberg元数据详细解析

本文彻底解释 iceberg元数据 存储细节 实践数据湖icerberg专栏 本专栏记录iceberg菜鸟到专家的过程,记录踩坑,填坑,iceberg特征的了解与原理的认知

spark_dev的博客 5560

NVIDIA DGX Spark (Ubuntu 24.04) 部署Isaac Sim与Isaac Lab:二进制安装与ROS2集成实战

本文详细介绍了在NVIDIA DGX Spark工作站(Ubuntu 24.04系统)上,通过预编译二进制包稳定部署Isaac Sim与Isaac Lab的完整实战流程。文章重点剖析了二进制安装相较于源码编译和pip安装的优势,有效规避了CUDA、PyTorch等关键组件的版本冲突陷阱,并逐步指导完成环境配置、Isaac Lab集成、Conda环境管理以及ROS2 Jazzy的集成,最终构建出完整的机器人仿真与强化学习开发平台。

kite3的博客 396

Win11显卡驱动安装失败的全面解决方案

Windows 11显卡驱动安装失败是一个比较常见的问题,但通过上述方法,我们可以有效地解决这一问题。方法一通过调整组策略编辑器的驱动程序安装策略,可能解决一些因签名问题导致的安装失败;而方法二则通过重装Windows 11系统,为系统提供一个全新的、干净的环境,从而可能解决更复杂的安装问题。在实际操作中,用户可以根据具体情况选择合适的方法来解决显卡驱动安装失败的问题。

nntxthml的博客 2662

实践数据湖iceberg 第十一课 测试分区表完整流程(造数、建表、合并、删快照)

系列文章目录 实践数据湖iceberg 第一课 入门 实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式 实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg 实践数据湖iceberg 第四课 在sqlclient中,以sql方式从kafka读数据到iceberg(升级版本到flink1.12.7) 实践数据湖iceberg 第五课 hive catalog特点 实践数据湖iceberg 第六课 从kafka写入到iceber

spark_dev的博客 4444

逆概率加权法(Inverse Probability Weighting, IPW)的原理及R实现

逆概率加权(IPW)是一种用于解释由于非随机选择观测值或人群信息的非随机缺失而造成的缺失和选择偏差的方法。原理:这种方法可以通过对观察值的加权来修正分析,使其具有被选中的概率。IPW是基于这样一个假设,即整个研究人群都有可以预测纳入概率(非遗漏)的个体信息,因此,在考虑到这些信息后,我们可以仅从非遗漏的观察值开始对整个目标人群进行推断。计算的程序如下:首先,我们考虑整个研究人群,用逻辑回归模型计算非失访信息的概率,其中响应是非失访,协变量是其可能的预测因素。每个受试者的权重是由预测概率的倒数给出的。然后使用

Christina 5万+

实践数据湖iceberg 第三十八课 spark sql, Procedures语法进行数据治理(小文件合并,清理快照)

从kafka源写入iceberg,会生成大量的小文件,合并小文件,有代码的方式,spark3结合iceberg0.11后,支持使用sql方式实现文件治理,本文记录 expire_snapshots,rewrite_manifests的运行效果与底层文件的变化

spark_dev的博客 2448

多重共线性问题 -- 岭回归方法

概述 本篇博客分为三大部分,线性模型、多重共线性问题和岭回归。其中,线性模型中介绍了线性模型定义和普通最小二乘法对线性模型的拟合。第二部分,借由1987-2007年的人口、消费和科技对碳排放的影响的数据来说明多重共线性问题(包括如何从定性和定量两个方面判断多重共线性问题)和多重共线性问题对普通最小二乘估计的影响。第三部分,使用岭回归对第二部分中的多重共线性问题进行拟合,并基于R2R^2R2决定系数...

楚江客的记录 1万+

Oracle 11g安装教程(保姆级超详细安装教程)

Oracle详细安装步骤,每一步都配有图例引导 ORACLE是数据库(Oracle服务端)。是连接数据库的客户端(Oracle客户端)。是连接oracle的可视化客户端软件。

2302_81846649的博客 1万+

数据湖之Iceberg

Apache Iceberg 是一个用于大规模数据集的开源表格式库,旨在解决传统数据湖在管理大型数据集时遇到的挑战。它由Netflix创建,并捐赠给了Apache软件基金会。Iceberg旨在提供一种高效、灵活且可扩展的方式来处理海量数据,同时保持强大的事务性保证。

youziguo的专栏 2054

如何在Ubuntu 22.04系统上安装CUDA 12.9

本文提供Ubuntu22.04系统上安装CUDA12.9的简明指南:1)确认已安装适配575驱动;2)清理旧版本后安装必需依赖库;3)通过deb包方式添加英伟达源并安装CUDA12.9工具包;4)配置环境变量;5)通过nvcc-V和nvidia-smi命令验证安装。文中包含常见问题解决方法及多显卡使用说明,全程约需10分钟完成安装。

2501_93651177的博客 1480

实践数据湖iceberg 第八课 hive与iceberg集成

系列文章目录 实践数据湖iceberg 第一课 实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式 实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg 实践数据湖iceberg 第四课 在sqlclient中,以sql方式从kafka读数据到iceberg(升级版本到flink1.12.7) 实践数据湖iceberg 第五课 hive catalog特点 实践数据湖iceberg 第六课 从kafka写入到iceberg失败

spark_dev的博客 8679

R 语言 ggplot2 绘制精美高级全球地图

在本教程中,我们将学习如何使用R语言和ggplot2包绘制精美高级地图。ggplot2是一个功能强大的数据可视化包,它可以让我们创建漂亮、交互式的地图。我们将使用R中的一些其他包来处理地理空间数据,以便与ggplot2无缝协作。

Mrrunsen的博客 1866

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

数据湖 | 还不知道什么是Iceberg?一篇文章带你走进Iceberg的世界!

文章目录1. Iceberg是什么?2. 能力与优势2.1 Iceberg都有哪些功能?2.2 Iceberg能力验证3. Iceberg应用场景参考文档 近年来“数据湖”的概念在大数据领域如火如荼。delta、Apache Iceberg和Apache Hudi是市面上流行的三大数据湖解决方案,那到底这些方案是什么?又怎么使用?本文参考官网文档,带你快速入门iceberg,并从几个简单的例子出发,感受iceberg的能力。 1. Iceberg是什么? Iceberg定位在计算引擎之下,存储之上,通过特定

search-lemon的博客 2万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 实践数据湖iceberg 第九课 合并小文件
下一篇: HiveServer2运行慢,不定时宕机,问题排查
*星星之火*
博客等级 码龄12年 3798粉丝 222原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值