Iceberg(一)介绍及环境搭建

Iceberg(一)介绍及环境搭建,第1张

Iceberg(一)介绍及环境搭建 1、介绍

        Apache Iceberg 是一种用于大型分析数据集的开放表格,Iceberge 向 Trino 和 Spark 添加了使用高性能格式的表,就像 Sql 表一样。

        Iceberg 为了避免出现不变要的一些意外,表结构和组织并不会实际删除,用户也不需要特意了解分区便可进行快速查询。

    Iceberg 的表支持快速添加、删除、更新或重命名 *** 作。支持overwrite,但不支持行级的更新将分区列进行隐藏,避免用户错误的使用分区和进行极慢的查询。分区列也会随着表数据量或查询模式的变化而自动更新。表可以根据时间进行表快照,方便用户根据时间进行检查更改。提供版本回滚,方便用户纠错数据。

        Iceberg 是为大表而建的,Iceberg 用于生产中,其中单表数据量可包含 10pb 左右数据, 甚至可以在没有分布式 SQL 引擎的情况下读取这些巨量数据。

    查询计划非常迅速,不需要分布式 SQL 引擎来读取数据。高级过滤:可以使用分区和列来过滤查询这些数据。可适用于任何云存储。表的任何 *** 作都是原子性的,用户不会看到部分或未提交的内容。使用多个并发器进行写入,并使用乐观锁重试的机制来解决兼容性问题。
2、构建Iceberg

        构建 Iceberge 需要 Grade 5.41 和 java8 或 java11 的环境

2.1、构建Iceberg

        1、上传并解压iceberg-apache-iceberg-0.11.1.zip。并修改配置文件version.props。

org.apache.flink:* = 1.11.0
org.apache.hadoop:* = 3.1.3
org.apache.hive:hive-metastore = 2.3.7
org.apache.hive:hive-serde = 2.3.7
org.apache.spark:spark-hive_2.12 = 3.0.1
org.apache.hive:hive-exec = 2.3.7
org.apache.hive:hive-service = 2.3.7

        2、修改国内镜像

buildscript {
 repositories {
    jcenter() 
    gradlePluginPortal()
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/' } 
    maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'} 
    maven { url "http://palantir.bintray.com/releases" }
    maven { url "https://plugins.gradle.org/m2/" }
 }
 ....
}

allprojects {
    group = "org.apache.iceberg" 
    version = getProjectVersion() 
    repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} 
    maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'} 
    maven { url "http://palantir.bintray.com/releases" }
    mavenCentral() 
    mavenLocal()
 }
}

        3、构建项目:./gradlew build -x test

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5701818.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存