apache kyuubi + dremio 整合試用
阿新 • • 發佈:2021-11-14
主要是一個玩法的整合,使用apache kyuubi 簡化spark 的使用,而且如果我們整合資料庫儲存格式也是很方便的(感謝網易做出的貢獻)
參考圖
簡單說明:
我們直接基於apache kyuubi 進行delta lake 的操作,資料儲存到minio s3 中,然後使用dremio 強大的能力(資料加速,資料整合能力)方便的進行資料查詢分析
環境準備
- 下載安裝apache kyuubi (使用了最近的版本)
參考連線,注意新版本是沒有直接整合spark的需要自己下載,同時delta lake 的包也是需要自己配置的
https://kyuubi.apache.org/releases.html - 下載spark
可以使用apache kyuubi 1.2 github 上提供的直接解壓就放到externals 目錄下 - delta lake 以及s3 整合
需要自己下載軟體包,我已經提供好了一個,可以直接使用,參考github ,這些軟體包可以直接放到spark 的jars 目錄
https://github.com/rongfengliang/delta-lake-s3-jars
- delta lake 配置
conf/kyuubi-defaults.conf 檔案
kyuubi.frontend.bind.host 0.0.0.0
kyuubi.frontend.bind.port 10019
# minio s3 整合,
spark.hadoop.fs.s3a.access.key=minio
spark.hadoop.fs.s3a.secret.key=minio123
spark.hadoop.fs.s3a.endpoint=localhost:9000
spark.hadoop.fs.s3a.path.style.access=true
spark.hadoop.fs.s3a.connection.ssl.enabled=false
spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension
spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog
spark.databricks.delta.retentionDurationCheck.enabled=false
- dremio s3 部署
version: "3"
services:
s3:
image: minio/minio
environment:
- "MINIO_ACCESS_KEY=minio"
- "MINIO_SECRET_KEY=minio123"
command: server /data --console-address ":9001"
ports:
- "9000:9000"
- "9001:9001"
app:
image: dremio/dremio-oss:19.0
ports:
- "9047:9047"
- "31010:31010"
啟動&整合試用
- 啟動
啟動之後還需要建立s3 bucket (delta-lake),不然基於apache kyuubi 建立表會提示bucket 不存在的
./bin/kyuubi run
docker-compose up -d
- 建立table
CREATE TABLE events9 (
eventId STRING,
eventType STRING,
data STRING)
USING DELTA
LOCATION 's3a://delta-lake/firstdemo' // 指定s3 路徑
insert into events9 values('1111','11111','11111') // 寫入資料
- dremio 整合
配置資料來源
資料查詢
說明
以上是基於apache kyuubi 整合dremio 的一個玩法,我們基於spark 的能力加上dremio 強大的查詢能力,進行資料分析是很靈活的,apache kyuubi 是一個好東西
參考資料
https://github.com/rongfengliang/delta-lake-s3-jars
https://kyuubi.apache.org/releases.html
https://docs.delta.io/latest/delta-storage.html#amazon-s3
https://www.cnblogs.com/rongfengliang/p/14928505.html
https://docs.dremio.com/deployment/dist-store-config/