当前位置: 首页 > 软件库 > 大数据 > 数据处理 >

Arctic

流式湖仓服务
授权协议 Apache
开发语言 Java
所属分类 大数据、 数据处理
软件类型 开源软件
地区 不详
投 递 者 公孙琛
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Arctic 是由网易开源的流式湖仓系统,Arctic 在 Iceberg 和 Hive 之上添加了更多实时场景的能力,并且面向 DataOps 提供流批统一,开箱即用的元数据服务,让数据湖更加好用和实用。

概述

Arctic 是搭建在 Apache Iceberg 表格式之上的流式湖仓服务(Streaming LakeHouse Service)。通过 Arctic,用户可以在 Flink、Spark、Trino 等引擎上实现更加优化的 CDC,流式更新,OLAP 等功能, 结合数据湖高效的离线处理能力,Arctic 能够服务于更多流批混用的场景;同时,Arctic 的结构自优化、并发冲突解决以及标准化的湖仓管理功能,可以有效减少用户在数据湖管理和优化上的负担。  

Arctic 服务通过部署 AMS 来展现,AMS 可以认为是 HMS(Hive Metastore)的下一代产品,或者是面向 Iceberg 的 HMS。 Arctic 依赖 Iceberg 作为基础表格式,但 Arctic 没有侵入 Iceberg 实现,而是将 Iceberg 作为一个 Lib 使用, 在 Flink、Spark、Trino 等计算引擎来看,Arctic 首先是一个独立数据源,具有流式湖仓的特性, 其次也可以将 Arctic 表当做一个或多个 Iceberg 表来使用,考虑到 Hive 依然有很大的用户体量, Arctic 在设计时考虑了 Hive 的兼容性。Arctic 开放的叠加式架构,可以帮助已具规模的离线数据湖快速批量升级为实时数据湖, 而不用担心和原有数据湖的兼容性问题,让数据湖满足更多实时分析,实时风控,实时训练,特征工程等场景。

Arctic 特性

  • 基于主键高效地流式更新
  • 数据自动分桶,结构自优化(self-optimized)
  • 支持将数据湖和消息队列封装成统一的表,实现更低延迟的流批一体
  • 提供流式数仓标准化的度量,dashboard 和相关管理工具
  • 支持 Spark 和 Flink 读写数据,支持 Trino 查询数据
  • 百分百兼容 Iceberg / Hive 的表格式和语法
  • 为流批并发写入提供事务性保障

架构与概念

Arctic 的组件包括 AMS,optimizer 以及 dashboard,如下所示: 

AMS

Arctic Meta Service,在 Arctic 架构中,AMS 定义为新一代 HMS,AMS 管理 Arctic 所有 schema,向计算引擎提供元数据服务和事务 API,以及负责触发后台结构优化任务。

Transaction

Arctic 将一次数据提交定义为事务,并且保障流和批并发写入下的事务一致性语义,与 Iceberg 提供的 ACID 不同,Arctic 因为支持 CDC 摄取和流式更新,需要保障基于主键的数据一致性。

Tablestore

Tablestore 是 Arctic 在数据湖上存储的表格式实体,Tablestore 类似于数据库中的 cluster index,代表独立的存储结构,一个 Tablestore 是一张 Iceberg 表,数据流式写入和批式写入会分别进入 Arctic 的 Changestore 和 Basestore,在查询时 Arctic 会在多个 Tablestore 上提供整合的视图,后续在 Arctic 上扩展 sort key 或 aggregate key 也将通过扩展 Tablestore 来实现。

Optimizing

Arctic 作为流式湖仓服务,会在后台持续进行文件结构优化操作,并致力于这些优化任务的可视化和可测量,优化操作包括但不限于小文件合并,数据分区,数据在 Tablestore 之间的合并转化。

  • Optimizing planner 决定了优化任务的调度策略,Arctic 支持在表属性中设置 quota,以此影响 Optimizing planner 在单表结构优化占用的资源。
  • Optimizer container 是 optimizing 任务调度的容器,目前支持两种调度:standalone 和 yarn,standalone 在 AMS 本地调度,适合测试,arctic 支持用户扩展 optimizer container 实现。
  • Optimizer group 用于资源隔离,optimizing container 下可以设置一个或多个 optimizer group,也可以通过 optimizer group 保障优先级,在 yarn 上 optimizer container 对应队列。
  • 相关阅读:一个90后员工猝死的全过程 Android Studio 的新大版本又来了,大家快来躺坑。原本链接:developer.android.com/studio/rele…[1] Android Studio Arctic Fox 是属于大版本更新,其中包含各种新功能和改进,其中主要有:版本号规则变更,支持新的测试模式,更高级的调试跟踪,更方便的导出数据库,支持 Compose 等等 新版本

  • Android Studio Arctic Fox配环境 一、下载Android Studio Arctic Fox 二者选其一 官网 国内镜像 二、下载Git并配置环境变量 官网 windows安装git和环境变量配置 三、配置 官网 国内镜像 配置更新patch-update路径:Help->Edit Custom Properties。如果在更新过程中遇到报错Temp directory i

  • 从某个线上平台上下载到了ETF和LOF的基金数据,准备保存到原先的arctic数据库中。 import os,sys import pandas as pd from arctic import Arctic # 连接数据库 conn = Arctic('127.0.0.1') # 判断library是否存在,如果不存在就创建一个 if "FUNDS" not in conn.list_libra

  • 早期版本的AS怎么导入模块我也不记得了,AS Arctic Fox导入现有模块不能从菜单的File->New-Import Module执行,你会发现Finish按钮永远都是灰的。 正确做法是先将模块文件夹复制到项目文件夹中,和app文件夹在同一层。然后打开settings.gradle文件,添加include即可。 include ':app' ':模块文件夹名称' 同步之后就可以了。

  • 总结AS 升级到Arctic Fox遇到的问题: 1、 settings.gradle 报错: Could not find method dependencyResolutionManagement() for arguments 解决方法: gradle 和 AGP都需要7.0+ AS Arctic Fox AGP :7.0.3 Gradle: 7.0.2 Android Plugin

 相关资料
  • Docker 私有仓库 如果你想玩转docker,一个私有仓库是必不可少的。 本文将会搭建一个简易的私有仓库以供参考。 本文例子的主机地址是 192.168.4.121 第一步 获取官方工具 官方为我们提供了一个创建仓库的工具,它是以镜像文件形式存储在官方仓库中,我们可以把它拉下来用。 $ sudo docker pull registry 第二步 启动仓库 我们现在启动它,指定主机5000端

  • 本文向大家介绍Linux服务器配置多个svn仓库流程详解,包括了Linux服务器配置多个svn仓库流程详解的使用技巧和注意事项,需要的朋友参考一下 1、在指定目录建立仓库保存总目录,本文示例目录设定为:/usr/local/svn/svnrepos # mkdir -p /usr/local/svn/svnrepos 2、在总目录中创建两个仓库的文件夹,以及使用命令创建版本库 # mkdir -p

  • 投java开发岗 笔试竟然是行测😰 人麻了 好不容易做完 一共九十道题 120分钟 双机位 🈶️常识30 言语理解20 数量关系15 资料分析5 判断推理10 英语5 企业文化5 考完一脸懵

  • 一面(2023.2.13): redis mysql三大范式 tcp三次握手 tcp拥塞控制 hashcode是如何计算hash码的 linux如何查找线程 linux常用的命令 chomd 777 中的分别代表什么意思 一道链表简单题 二面(2023.2.25) mysql的集群方式 redis的集群方式 redis的 哨兵模式介绍一下 微服务了解吗 了解k8s吗 如果我有一张很大的表,怎么办,

  • 问题内容: 问题很简单:假设我有一个完全可响应的后端,如何将其流式传输到浏览器(例如大文本),并在每个块来自服务器时立即将它们打印给用户? 可能我缺少一些重要的概念性要点,但是我所需要知道的是:是否可以通过一个HTTP GET(或否)请求发送少量数据(从服务器到浏览器)?关键是:在发送全部数据之前,我可以写那些小的部分吗? 谢谢你的帮助。我以前确实尝试过google,但是我总是会得到其他概念(例如

  • 一面,小组面  思考+自我介绍+主题演讲 五分钟,时间分配自己安排,主题演讲是随机抽题,轮流演讲,后面轮流每人回答四个问题 我抽到的主题演讲题目是大学期间最深刻的课程,是里面最简单的,提问环节包括给自己打分,给机会重新说主题演讲内容,三个关键词形容投递的岗位,任务多量大怎么安排 总体来说,面试流程顺利,不过时间挺长的,一共一个小时二十分钟。电脑中途没电了,立马切换为手机,虚惊一场!#我的秋招旅程#