1. 程式人生 > 其它 >apache kyuubi + dremio 整合試用

apache kyuubi + dremio 整合試用

主要是一個玩法的整合,使用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/