dremio 21.1 分散式儲存單機測試的一種方法
阿新 • • 發佈:2022-05-26
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/