dremio 21.1 分布式存储单机测试的一种方法

dremio 21.1 对于分布式存储的变动对于希望体验本地反射是一个比较费事的,我们需要自己配置下,当前支持
的分布式存储实际上是不少的,包含了传统的hdfs,nas,s3 ,mapr,adls, 但是很多是时候大家肯定没有实际条件
实际上有一种最简单方法就是直接使用本地存储,只是使用了类似nas 的文件系统访问格式

参考配置

 
paths: {
  # the local path for dremio to store data.
  local: ${DREMIO_HOME}"/data"
  # the distributed path Dremio data including job results, downloads, uploads, etc
  dist: "file:///myappdemo" // 注意格式是file:/// file:// 应该是有问题的,同时我测试也是有问题的
  accelerator: ${paths.dist}/accelerator,
  downloads: ${paths.dist}/downloads,
  uploads: ${paths.dist}/uploads,
  results: ${paths.dist}/results
  scratch: ${paths.dist}/scratch
}
services: {
  coordinator.enabled: true,
  coordinator.master.enabled: true,
  executor.enabled: true,
  flight.use_session_service: true
}

docker-compose 启动

version: '3'
services:
  pg:
    image: postgres:14.3-alpine3.15
    environment:
    - POSTGRES_PASSWORD=dalongdemo
    ports:
      - 5432:5432
  minio:
    image: minio/minio
    ports:
      - "9002:9000"
      - "19001:19001"
    environment:
      MINIO_ACCESS_KEY: minio
      MINIO_SECRET_KEY: minio123
    command: server --console-address :19001 --quiet /data
  dremio:
    build: ./
    image: dalongrong/dremio:21.1-jprofiler
    volumes:
      - "./dist:/myappdemo"
    ports:
      - "9047:9047"
      - "8849:8849"
      - "31010:31010"

反射数据参考格式

  • 参考截图

 

 

 

 

 

从上图可以看出包含的基于反射id 的数据文件(使用了parquet文件以及一个crc 校验文件),metadata 是关于反射的元数据信息,包含了基于avro 的定义,以及数据的字段信息(实际上这部分官方是要使用apache iceberg 格式的),后边预计dremio 会基于iceberg 的存储格式搞一些事情的,实际上从官方博客相关介绍也能看到一些信息
处理逻辑
metadata 的,从调用链也可以看出是直接使用了apache iceberg 处理的

 

 

 

 

参考资料

https://docs.dremio.com/software/deployment/dist-store-config/
https://docs.dremio.com/software/data-formats/apache-iceberg/

posted on 2022-05-26 18:34  荣锋亮  阅读(164)  评论(0编辑  收藏  举报

导航