Iceberg 基本操作和快速入门

安装

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.xdnf.cn/news/1547679.html

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

相关文章

FastAPI 第五课 -- 基本路由

目录 一. 前言 二. 根路径路由 三. 路径参数 四. 启动应用和测试路由 一. 前言 在 FastAPI 中,基本路由是定义 API 端点的关键。每个路由都映射到应用程序中的一个函数,用于处理特定的 HTTP 请求,并返回相应的响应。 二. 根路径路由 创…

Java中使用ZXing和QRCode生成二维码(附Demo)

目录 前言1. 基本知识2. ZXing3. QRCode 前言 对于Java的基本知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 1. 基本知识 生成二维码在J…

SpringBoot实现自定义Redis的连接

SpringBoot实现自定义Redis的连接 1.docker安装Redis docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf2.maven 的pom文件导包 <dependency>&…

PDF 秒变 JPG,2024 这些工具来助力

有些扫描仪默认将扫描文档保存为PDF格式&#xff0c;若事先未加留意&#xff0c;便可能累积大量PDF文件。然而&#xff0c;在需要将这些文件插入到其他文档或进行图形设计时&#xff0c;PDF格式可能会显得不够灵活或便捷。这时&#xff0c;将PDF转换为JPG图片格式就成为了一个实…

选对工具很重要!师姐花了1天写代码,我3分钟就做出一样的倾向性得分匹配结果!...

风暴统计 √浙中大学统计老师郑卫军主持 √ 基于R语言软件开发 √ 免费使用&#xff0c;无需注册 √一键生成发表级图表 www.medsta.cn/software &#xff08;电脑端浏览器打开&#xff09; 倾向性得分方法&#xff08;PSM&#xff09;可有效降低混杂偏倚&#xff0c;得到类似随…

2024外研社综合能力大赛第一场真题

网上找滴~自用 审核不过&#xff0c;备考指南发知乎了&#xff1a;https://zhuanlan.zhihu.com/p/730698685

Spring Boot在甘肃非遗文化网站开发中的应用

2 相关技术 2.1 SSM框架介绍 本课题程序开发使用到的框架技术&#xff0c;英文名称缩写是SSM&#xff0c;在JavaWeb开发中使用的流行框架有SSH、SSM、SpringMVC等&#xff0c;作为一个课题程序采用SSH框架也可以&#xff0c;SSM框架也可以&#xff0c;SpringMVC也可以。SSH框架…

[网络]数据链路层-MAC帧与ARP协议

目录 一、数据链路层 二、以太网 2.1 认识以太网 2.2 数据碰撞 2.3 交换机 2.4 MAC帧格式 2.5 局域网通信过程 2.6 认识 MAC 地址 2.7 对比理解 MAC 地址和 IP 地址 2.8 认识 MTU 2.9 认识MSS 三、ARP 协议 3.1 了解ARP协议 3.2 ARP协议的工作流程 3.3 ARP 数据…

火车票有电子发票吗?没纸质火车票怎么报销?

火车票有电子发票吗&#xff1f; 火车票、高铁票目前没有电子发票&#xff0c;但是现在已经实行电子客票&#xff0c;车票即购票证件&#xff0c;乘车时&#xff0c;只需购票证件原件&#xff08;如身份证、护照、临时身份证等&#xff09;即可乘车。 没纸质火车票怎么报销&am…

“AI+Security”系列第3期(五):AI技术在网络安全领域的本地化应用与挑战

近日&#xff0c;由安全极客、Wisemodel 社区、InForSec 网络安全研究国际学术论坛和海升集团联合主办的“AI Security”系列第 3 期技术沙龙&#xff1a;“AI 安全智能体&#xff0c;重塑安全团队工作范式”活动顺利举行。此次活动吸引了线上线下超过千名观众参与。 在活动中…

3D 模型GLTF、GLB格式文件介绍使用;FBX格式

一、GLTF、GLB介绍 GLTF&#xff08;GL Transmission Format&#xff09;和 GLB&#xff08;GL Binary&#xff09;是用于在 Web 和各种应用程序中传输和加载 3D 场景和模型的开放标准格式。它们由 Khronos Group 开发&#xff0c;旨在提供一种高效、可扩展且易于使用的 3D 内…

9.26号算法题

数组的遍历 414.第三大的数 题解&#xff1a; class Solution {public int thirdMax(int[] nums) {TreeSet<Integer>treeSet new TreeSet<Integer>(); //生成一个TreeSet对象&#xff0c;存储有序唯一整数for (int num : nums){//遍历数组treeSet.add(num);//将…

图书系统|图书个性化推荐系统|基于springboot的图书个性化推荐系统设计与实现(源码+数据库+文档)

图书个性化推荐系统目录 目录 基于springboot的图书个性化推荐系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&#xff1a; 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#x…

高级算法设计与分析 学习笔记9 跳表

单链表的样子我们很熟悉了&#xff1a; 怎么加快查找&#xff1f;&#xff1a; 查找的具体方法&#xff1a; 超过了就回头下去。 这条“快速路”最好是几个节点呢&#xff1f;&#xff1a; 假如我们弄好多层跳表呢&#xff1f;&#xff1a; 给弄成2叉树了&#xff01; 如何插入…

RabbitMQ 队列之战:Classic 和 Quorum 的性能洞察

RabbitMQ 是一个功能强大且广泛使用的消息代理&#xff0c;它通过处理消息的传输、存储和交付来促进分布式应用程序之间的通信。作为消息代理&#xff0c;RabbitMQ 充当生产者&#xff08;发送消息的应用程序&#xff09;和使用者&#xff08;接收消息的应用程序&#xff09;之…

“类型名称”在Go语言规范中的演变

Go语言规范&#xff08;The Go Programming Language Specification&#xff09;[1]是Go语言的核心文档&#xff0c;定义了该语言的语法、类型系统和运行时行为。Go语言规范的存在使得开发者在实现Go编译器时可以依赖一致的标准&#xff0c;它确保了语言的稳定性和一致性&#…

Acwing 154. 滑动窗口

滑动窗口 输入: 8 3 1 3 -1 -3 5 3 6 7 输出&#xff1a; -1 -3 -3 -3 3 3 3 3 5 5 6 7 思路&#xff1a; 使用双端队列&#xff08;deque&#xff09;来维护一个区间的最值 具体做法&#xff1a; 双端队列里面存储元素的下标&#xff0c;我们先考虑如何维护区间里的数&#xf…

Elasticsearch讲解

1.Elasticsearch基本知识 1.基本认识和安装 Elasticsearch是由elastic公司开发的一套搜索引擎技术&#xff0c;它是elastic技术栈中的一部分。完整的技术栈包括&#xff1a; Elasticsearch&#xff1a;用于数据存储、计算和搜索 Logstash/Beats&#xff1a;用于数据收集 Kib…

Harbor的安装与使用

任务分析 一、规划节点 IP地址 主机名 节点 192.168.20.20 master 容器master节点 192.168.20.21 node 容器worker节点 二、基础准备 镜像使用CentOS7.9&#xff08;主机配置自定义&#xff0c;推荐配置4vCPU/12G内存/100G硬盘&#xff09;&#xff0c;使用这两台云…

【软设】计算机网络

【软设】计算机网络 一.OSI/RM七层模型 (七层模型还是要知道的&#xff0c;后面再去记一些协议&#xff0c;知道每一层应用在哪些方面&#xff0c;给你个东西或者协议你要能看得出来) OSI/RM&#xff08;Open Systems Interconnection Reference Model&#xff09;是国际标准…