首页 > 其他分享 >dremio nessie 集成玩法

dremio nessie 集成玩法

时间:2023-12-30 14:00:14浏览次数:58  
标签:dremio iceberg 玩法 catalog nessie org spark

昨天我简单写了dremio 集成nessie 的玩法, 实际上dremio 与nessie 的集成可以分为两大类,一类是使用nessie 做为catalog 服务
(当然也是支持写入iceberg 的),一类是基于外部工具(spark,flink) 使用nessie 做为metadata storage 然后dremio 查询

参考玩法图

  • 外部工具类的

  • catalog 类的

此时nessie 同时可以做为一个catalog 存储,同时还可以结合s3 存储创建表数据(直接利用dremoio 管理iceberg 表)

玩法说明

  • catalog 模式的
    可以直接参考我以前写的
  • 外部工具型的
    简单说明下spark 集成的,spark 基于了3.5,spark 使用了本地软件包
    环境准备
 
version: "3"
services:
  minio:
    image: minio/minio
    ports:
      - "9000:9000"
      - "19001:19001"
    environment:
      MINIO_ACCESS_KEY: minio
      MINIO_SECRET_KEY: minio123
    command: server --console-address :19001 --quiet /data
  dremio:
     build: .
     volumes:
     - ./dremio:/myappdemo
     ports:
       - "9047:9047"
       - "31010:31010"
  nessie:
     image: projectnessie/nessie:0.75.0-java
     ports:
        - "19120:19120"
        - "19121:19121"

spark 配置

spark.sql.extensions               org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions,org.projectnessie.spark.extensions.NessieSparkSessionExtensions
spark.sql.catalog.nessie.warehouse s3a://myws/   
# spark.sql.catalog.nessie.type      rest
spark.sql.catalog.nessie.uri       http://localhost:19120/api/v1 # 注意使用了v api
spark.sql.catalog.nessie.ref       main
spark.sql.catalog.nessie.authentication.type NONE
spark.sql.catalog.nessie.s3.endpoint    http://localhost:9000
spark.sql.catalog.nessie.catalog-impl   org.apache.iceberg.nessie.NessieCatalog
# spark.sql.catalog.nessie.io-impl       org.apache.iceberg.aws.s3.S3FileIO
spark.sql.catalog.nessie               org.apache.iceberg.spark.SparkCatalog
spark.hadoop.fs.s3a.access.key          minio
spark.hadoop.fs.s3a.secret.key          minio123
spark.hadoop.fs.s3a.endpoint            http://localhost:9000
spark.hadoop.fs.s3a.path.style.access   true

spark sql shell

./bin/spark-sql \
  --packages "org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.4.0,org.projectnessie.nessie-integrations:nessie-spark-extensions-3.5_2.12:0.75.0,org.apache.hadoop:hadoop-aws:3.3.3"

效果


dremio 链接(使用v2 api)


配置s3(注意应该与spark 配置的实际的s3 key 是一样的。root path 可以不一样,核心是s3 的权限)


iceberg 表信息


查询刚才创建的表

nessie 系统效果


当然此时还是可以创建表的,源数据也是存储在nessie 中的

说明

dremio 官方也写了一些关于spark 以及flink 集成的文章,都值得参考学习下,当然可以结合实际使用,上边说的两种模式也是可以混合试试使用的,同时利用nessie 方便的分支管理能力,我们可以开发灵活的数据模型

参考资料

https://iceberg.apache.org/docs/latest/nessie/
https://iceberg.apache.org/docs/1.4.3/nessie/
https://projectnessie.org/tools/iceberg/spark/
https://github.com/projectnessie/nessie
https://github.com/tabular-io/docker-spark-iceberg
https://projectnessie.org/tools/iceberg/flink/
https://docs.dremio.com/cloud/arctic/engines/flink/
https://projectnessie.org/tools/iceberg/flink/#reading-tables
https://www.dremio.com/blog/using-flink-with-apache-iceberg-and-nessie/
https://www.dremio.com/blog/intro-to-dremio-nessie-and-apache-iceberg-on-your-laptop/

标签:dremio,iceberg,玩法,catalog,nessie,org,spark
From: https://www.cnblogs.com/rongfengliang/p/17936307.html

相关文章

  • linux下好玩的shell程序与玩法
    1主要包括如下程序: sudoaptinstalllolcataewancowsayjp2alinuxlogoneoftechfortunepvcmatrixcbonsai2fortune:人们喜欢阅读随机的预测或说法,该工具用来缓解无聊的时光。上边是没有lolcat的效果,下边是加了lolcat的效果就是彩色的。3lolcat:无条件将输入涂上五颜......
  • dremio nessie数据源集成简单说明
    nessie是一个强大的支持类似git分之特性的apacheiceberg智能元数据存储,主要测试下基于nessiedremio元数据存储(catalog)集成参考架构环境准备docker-compose文件version:"3"services:minio:image:minio/minioports:-"90......
  • 【彩虹六号】各个地图有意思的玩法笔记(自用)
    【彩虹六号】各个地图有意思的玩法笔记(自用)每次看到一些有趣的方法总是忘记,干脆做个笔记吧运河运河二楼外墙摔炮听切运河二楼外墙摔炮听切实战方向放大需要注意这个地方可以收人头/被抓站在钢琴房偷天窗天窗偷人法先给天窗标点去钢琴房敲洞仅限开局三十秒木屋A......
  • dremio hive jdbc arp date 类型问题记录
    简单记录下碰到的一些问题分析arthasstack查看调用stackcom.mysql.cj.jdbc.result.ResultSetImplgetDate效果ffect(classcount:2,methodcount:4)costin329ms,listenerId:11ts=2023-12-2606:18:17;thread_name=e3-1a758f......
  • dremio 24.3.0 发布
    24.3版本对于bugfix以及新功能都是不少的一些比较方便的新功能支持parquetv2文件,支持元数据清理命令 VACUUMCATALOGCTAS支持排序Array相关操作函数的提供对于以及基于文件的数据源系统支持,自动的增量以及全量反射处理parquet文件字典编码支持COPYINTO增强,支持parquet以......
  • 【.NET】控制台应用程序的各种交互玩法
    【.NET】控制台应用程序的各种交互玩法 老周是一个不喜欢做界面的码农,所以很多时候能用控制台交互就用控制台交互,既方便又占资源少。有大伙伴可能会说,控制台全靠打字,不好交互。那不一定的,像一些选项类的交互,可以用键盘按键(如方向键),可比用鼠标快得多。当然了,要是要触控的话,是......
  • 基于pg driver 的dremio cratedb arp 扩展
    实际上pg驱动是可以直接链接cratedb的但是因为默认实现会自动添加一个编码造成生成的sql在cratedb运行异常参考代码核心是arp方言处理上,移除了关于编码的处理,实际上与mssqlserver处理是一样的,主要代码实际上来自ce版本的pg扩展publicSqlCollationgetDefau......
  • 以前开发的一些dremio arp 扩展24.3 更新
    以前开发过一些简单的arp扩展(核心还是修改的ce版本的),dremio发布24.3版本了,但是有不少调整,造成以前的不能使用了目前已经将以前开发的都更新了my-dremio-mssql-connector主要是解决中文乱码问题cratedb-dremio-connector支持链接cratedbdremio-mysql-arp调整mysql,使用mysq......
  • dremio 24.3 版本构建的一些问题
    dremio24.3社区版代码提供了,从官方文档来看,构建与以前不太一样了,以下是构建中一些问题说明主要问题jdk需要同时包含jdk8以及jdk11,maven配置toolchains解决方法对于多jdk的安装可以使用二进制程序,比如我使用的mac我使用了sdkman这个工具管理多jdktoolchains配置......
  • dremio arp 扩展开发icon问题
    好久没太注意dremio内部的变动了,结果今天在自己开发arp扩展i升级到24.3的时候发现icon看不到,刚好官方发布了24.3的源码,顺着看了下发现是icon已经不在arp扩展中提供了,而是直接放到了ui组件中了参考图解决方法直接替换ui-libjar包自己编译ui-libjar包直接替......