Iceberg 基本操作和快速入门

news2024/12/23 5:16:00

安装

Iceberg 是一种适用于大型分析表的高性能工具,通过spark启动并运行iceberg,文章是通过docker来进行安装并测试的

新建一个docker-compose.yml文件

文件内容

version: "3"

services:

  spark-iceberg:

    image: tabulario/spark-iceberg

    container_name: spark-iceberg

    build: spark/

    networks:

      iceberg_net:

    depends_on:

      - rest

      - minio

    volumes:

      - ./warehouse:/home/iceberg/warehouse

      - ./notebooks:/home/iceberg/notebooks/notebooks

    environment:

      - AWS_ACCESS_KEY_ID=admin

      - AWS_SECRET_ACCESS_KEY=password

      - AWS_REGION=us-east-1

    ports:

      - 8888:8888

      - 8080:8080

      - 10000:10000

      - 10001:10001

  rest:

    image: tabulario/iceberg-rest

    container_name: iceberg-rest

    networks:

      iceberg_net:

    ports:

      - 8181:8181

    environment:

      - AWS_ACCESS_KEY_ID=admin

      - AWS_SECRET_ACCESS_KEY=password

      - AWS_REGION=us-east-1

      - CATALOG_WAREHOUSE=s3://warehouse/

      - CATALOG_IO__IMPL=org.apache.iceberg.aws.s3.S3FileIO

      - CATALOG_S3_ENDPOINT=http://minio:9000

  minio:

    image: minio/minio

    container_name: minio

    environment:

      - MINIO_ROOT_USER=admin

      - MINIO_ROOT_PASSWORD=password

      - MINIO_DOMAIN=minio

    networks:

      iceberg_net:

        aliases:

          - warehouse.minio

    ports:

      - 9001:9001

      - 9000:9000

    command: ["server", "/data", "--console-address", ":9001"]

  mc:

    depends_on:

      - minio

    image: minio/mc

    container_name: mc

    networks:

      iceberg_net:

    environment:

      - AWS_ACCESS_KEY_ID=admin

      - AWS_SECRET_ACCESS_KEY=password

      - AWS_REGION=us-east-1

    entrypoint: >

      /bin/sh -c "

      until (/usr/bin/mc config host add minio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done;

      /usr/bin/mc rm -r --force minio/warehouse;

      /usr/bin/mc mb minio/warehouse;

      /usr/bin/mc policy set public minio/warehouse;

      tail -f /dev/null

      "

networks:

  iceberg_net:

通过命令启动 docker 容器

docker-compose up

可以在docker中查到到具体容器

启动spark会话

docker exec -it spark-iceberg spark-sql

还可以通过命令来启动notebook 服务器。 Notebook 服务器将于 http://localhost:8888

docker exec -it spark-iceberg notebook

创建表

CREATE TABLE demo.nyc.taxis

(

  vendor_id bigint,

  trip_id bigint,

  trip_distance float,

  fare_amount double,

  store_and_fwd_flag string

)

PARTITIONED BY (vendor_id);

Iceberg 目录支持所有 SQL DDL 命令,包括:

CREATE TABLE ... PARTITIONED BY

CREATE TABLE ... AS SELECT

ALTER TABLE

DROP TABLE

向表中写入数据

INSERT INTO demo.nyc.taxis

VALUES (1, 1000371, 1.8, 15.32, 'N'), (2, 1000372, 2.5, 22.15, 'N'), (2, 1000373, 0.9, 9.01, 'N'), (1, 1000374, 8.4, 42.13, 'Y');

从表中读取数据

SELECT * FROM demo.nyc.taxis;

这就是iceberg-spark的基本入门说明了,后续会更新一些高级的操作,欢迎大家关注,评论沟通,大家一起学习交流~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2167914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

干部画像如何精准科学识别优秀干部

干部画像作为一种精准、科学的评价工具,在识别优秀干部方面发挥着关键作用。通过全面、深入、系统地收集、整理和分析干部的多维度信息,形成一幅反映干部综合素质和能力的立体画卷,为组织部门提供了详实可靠的依据。以下是干部画像在精准、科…

Colorful/七彩虹将星X15 AT22 2022 Win11原厂OEM系统 带COLORFUL一键还原

安装完毕自带原厂驱动和预装软件以及一键恢复功能,自动重建COLORFUL RECOVERY功能,恢复到新机开箱状态。 【格式】:iso 【系统类型】:Windows11 原厂系统下载网址:http://www.bioxt.cn 注意:安装系统会…

Exception in thread “main“ java.lang.CloneNotSupportedException 解决方案

目录 前言: 解决方案 后言: 结言: 前言: 今天在学习设计模式的时候,犯的一个错误。很低级的错误,不过也记录一下(绝对不是想水文章)。 解决方案 在使用克隆方法时抛出这个异…

2024年第五届电力工程国际会议(ICPE 2024)将在上海召开!

为了总结交流我国电力研究技术的最新研究成果,促进国内外电力技术发展与交流,开拓电力技术应用领域,将于2024年12月13-15日在 中国上海举办第五届电力工程国际会议 (ICPE 2024) 。 本次会议由IEEE、PES、上海电力大学主办,电子科技…

猜想的反例:DFS中结点顺序与后代关系的分析

猜想的反例:DFS中结点顺序与后代关系的分析 猜想分析与反例构造反例描述伪代码与C代码实现反例验证在图论中,深度优先搜索(DFS)是一种重要的图遍历算法,它可以生成一棵深度优先森林(DFS Forest),揭示结点之间的祖先-后代关系。本文探讨一个特定猜想:如果有向图G包含一…

Linux服务器安装Anaconda环境

Linux浪潮云服务器安装Anaconda环境 读研之后在导师的帮助下,获得了浪潮的一台公共云服务器。以后做实验跑代码就可以使用云服务器上的虚拟环境了。减少了自己笔记本的压力。在创建并保存完成镜像环境之后。最重要的就是安装好深度学习需要的Anaconda环境&#xff0…

vue-i18n在使用$t时提示类型错误

1. 问题描述 Vue3项目中,使用vue-i18n,在模版中使用$t时,页面可以正常渲染,但是类型报错。 相关依赖版本如下: "dependencies": {"vue": "^3.4.29","vue-i18n": "^9.1…

MES管理系统的工单管理功能模块有什么用

在当今制造业的快速发展中,企业对于生产流程的高效管理与优化需求日益迫切。MES管理系统作为集成了生产计划、物料追踪、工艺执行、设备监控以及质量管理等核心功能的综合性软件平台,正逐步成为企业转型升级的关键驱动力。MES管理系统不仅通过实时数据洞…

鸿蒙界面开发——组件(9):进度条Progress 滑动条Slider

进度条 (Progress) Progress(options: {value: number, total?: number, type?: ProgressType})其中,value用于设置初始进度值,total用于设置进度总长度,type用于设置Progress样式。 Progress有5种可选类型,通过ProgressType可…

必应bing搜索广告如何开户?投放需要多少钱?

网络营销已成为企业增长不可或缺的一部分,为了帮助企业更高效地触达目标客户,云衔科技携手必应Bing搜索引擎,提供专业、便捷的广告开户与代运营服务。无论您是希望扩大品牌影响力,还是提升产品销量,选择云衔科技&#…

阻塞型IO与非阻塞型IO

阻塞IO与非阻塞IO 一.IO模型 IO的本质是基于操作系统接口来控制底层的硬件之间数据传输,并且在操作系统中实现了多种不同的IO方式(模型),比较常见的有下列三种 阻塞型IO模型非阻塞型IO模型多路复用IO模型(重点!重点!重点!) 二…

KVM 安装 Windows11

在 KVM 安装 Windows 比安装 Ubuntu 会复杂一些,去微软官网下载 Win11,同时要下载 Virtio 可以从 Fedora 下载 (https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/)。 安装Window 命令行输入以下命令&#xf…

uniapp数据缓存

利用uniapp做开发时,缓存数据是及其重要的,下面是同步缓存和异步缓存的使用 同步缓存 在执行同步缓存时会阻塞其他代码的执行 ① uni.setStorageSync(key, data) 设置缓存,如: uni.setStorageSync(name, 张三) ② uni.getSt…

Python 课程21-Django

前言 在当今互联网时代,Web开发已成为一项必备技能。而Python作为一门简洁、高效的编程语言,其Web框架Django以其强大的功能和快速开发的特点,受到了广大开发者的青睐。如果你想深入学习Django,构建自己的Web应用,那么…

呼吸自救防护器的使用方式

呼吸自救防护器是一种用于在紧急情况下提供呼吸保护的设备,通常用于矿井、化工厂、火灾等环境。当出现缺氧、有毒有害气体泄漏或烟雾等紧急情况时,呼吸自救防护器可以提供氧气或过滤空气,帮助使用者在短时间内安全呼吸,逃离危险区…

十大常用加密软件排行榜|2024年好用的加密软件推荐,企业必备!

在信息安全日益受到重视的当今,选择合适的加密软件对于企业保护敏感数据至关重要。以下是2024年十大常用加密软件排行榜,助您提升数据安全性。 Ping32 Ping32是一款功能强大的加密软件,支持多种文件格式加密,用户界面友好&#xf…

【机器学习】 Flux.jl 求解 XOR 分类问题的神经网络模型

Flux.jl 搭建神经网络基本流程 #mermaid-svg-JuKPmnLqTqDhEhKf {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-JuKPmnLqTqDhEhKf .error-icon{fill:#552222;}#mermaid-svg-JuKPmnLqTqDhEhKf .error-text{fill:#5522…

【前端】35道JavaScript进阶问题

来源: javascript-questions/zh-CN/README-zh_CN.md at master lydiahallie/javascript-questions GitHub 记录一些有趣的题。 1 输出是? const shape {radius: 10,diameter() {return this.radius * 2},perimeter: () > 2 * Math.PI * this.rad…

[单master节点k8s部署]26.Istio流量管理(二)

bookinfo微服务 这个bookinfo微服务由四个微服务构成: 1)productpage 这个微服务会调用 details 和 reviews 两个微服务,用来生成页面; 2)details 这个微服务中包含了书籍的信息; 3)reviews …

Scikit-LearnTensorFlow机器学习实用指南(三):一个完整的机器学习项目【下】

机器学习实用指南(三):一个完整的机器学习项目【下】 作者:LeonG 本文参考自:《Hands-On Machine Learning with Scikit-Learn & TensorFlow 机器学习实用指南》,感谢中文AI社区ApacheCN提供翻译。 本文全部代码和数据集保存在…