1. 程式人生 > 其它 >dremio 21.1 分散式儲存單機測試的一種方法

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/