Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Support Delta connector

未关闭
#538 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
停滞
技术栈
kubernetes

调研方向

从 Trino Delta connector 文档以及 issue 中描述的 TrinoCatalog、ConfigMap、podOverrides 和 initContainers 配置开始。确定如何在不替换生成的 catalog 文件的情况下支持 Delta 属性,并在无需使用文档中所述的变通方法即可配置 Delta 表时,视为工作完成。

由索引模型根据 Issue 内容生成。

描述

Docs: https://trino.io/docs/current/connector/delta-lake.html

I was able to setup a delta connector with the following workaround 👇🏻 :

  1. Established a TrinoCatalog using Hive as the connector to add S3 connection capabilities, necessary for accessing Delta tables stored in S3.
apiVersion: trino.stackable.tech/v1alpha1
kind: TrinoCatalog
metadata:
  name: hive
  namespace: infrastructure
  labels:
    trino: trino
spec:
  connector:
    hive:
      metastore:
        configMap: hive
      s3:
        reference: spark-s3-connection
  configOverrides:
    hive.metastore.username: delta

This allows me to add the s3 connection capabilities.

  1. Configured a ConfigMap named trino-delta-properties with settings for the Delta connector. This configuration mirrors the Hive setup but excludes hive.security=allow-all due to compatibility issues. It also introduces a Delta-specific setting to enable table registration from S3 storage.
apiVersion: v1
kind: ConfigMap
metadata:
  name: trino-delta-properties
  namespace: infrastructure
data:
  delta.properties: |
    connector.name=delta_lake
    hive.metastore.uri=thrift://hive.default.svc.cluster.local:9083
    hive.metastore.username=delta
    hive.s3.aws-access-key=${ENV:CATALOG_HIVE_HIVE_S3_AWS_ACCESS_KEY}
    hive.s3.aws-secret-key=${ENV:CATALOG_HIVE_HIVE_S3_AWS_SECRET_KEY}
    hive.s3.endpoint=http://s3
    hive.s3.path-style-access=true
    hive.s3.ssl.enabled=false
    delta.register-table-procedure.enabled=true

this configuration has an additional parameter delta.register-table-procedure.enabled=true as it'srequired in order to register delta tables that are already in the s3 object storage.

  1. Adjusted podOverrides for both worker and coordinator to mount the ConfigMap. However, this method replaces the entire /stackable/config/catalog directory, inadvertently removing the hive.properties file generated by TrinoCatalog. While sufficient for some scenarios, this approach may not cater to all use cases due to its overriding behavior.

Alternatively use initContainers to inject the Delta connector properties into the existing configuration directory without overwriting existing configurations.

podOverrides:
     spec:
        containers:
        - name: trino
           volumeMounts:
           - name: delta-properties
             mountPath: /stackable/config/catalog
        volumes:
        - name: access-control-properties
          configMap:
          - name: delta-properties
             configMap:
               name: trino-delta-properties
    roleGroups:
      default:
        replicas: 1
主要语言
Rust
星标
64
派生
14
平均合并
1 天 8 小时
30 天内合并 PR
10

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

stackabletech/trino-operator 的其他 Issue

查看 stackabletech/trino-operator 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。