当前位置: 首页 > article >正文

Databend 产品月报(2024年11月)

很高兴为您带来 Databend 2024 年 11 月的最新更新、新功能和改进!我们希望这些增强功能对您有所帮助,并期待您的反馈。

计算集群访问控制

Databend Cloud 现在允许您通过为计算集群分配特定角色来管理计算集群访问,以便只有具有该角色的用户才能访问计算集群。需要注意的是,计算集群访问控制默认启用。要启用访问控制,请在 工单 > 创建新工单 提交请求。 

使用 Prometheus 跟踪指标

Databend Cloud(仅限 Business 和 Dedicated 用户)现已支持与 Prometheus 集成:您现在可以使用 Prometheus 实时监控查询性能、资源使用情况和系统指标。有关如何与 Prometheus 集成以及可用指标,请参阅 使用 Prometheus 跟踪指标。

全新方式安装 BendSQL

你现在可以使用 Shell 脚本安装BendSQL。以下两种方式可供选择:

  • 安装到用户的主目录(~/.bendsql):
curl -fsSL https://repo.databend.com/install/bendsql.sh | bash

                                  B E N D S Q L
                                    Installer

--------------------------------------------------------------------------------
Website: https://databend.com
Docs: https://docs.databend.com
Github: https://github.com/databendlabs/bendsql
--------------------------------------------------------------------------------

>>> We'll be installing BendSQL via a pre-built archive at https://repo.databend.com/bendsql/v0.22.2/
>>> Ready to proceed? (y/n)
>>> Please enter y or n.
>>> y
--------------------------------------------------------------------------------
>>> Downloading BendSQL via https://repo.databend.com/bendsql/v0.22.2/bendsql-aarch64-apple-darwin.tar.gz ✓
>>> Unpacking archive to /Users/eric/.bendsql ... ✓
>>> Adding BendSQL path to /Users/eric/.zprofile ✓
>>> Adding BendSQL path to /Users/eric/.profile ✓
>>> Install succeeded! 🚀
>>> To start BendSQL:
    bendsql --help
>>> More information at https://github.com/databendlabs/bendsql
  • 安装到指定目录(例如,/usr/local):
curl -fsSL https://repo.databend.com/install/bendsql.sh | bash -s -- -y --prefix /usr/local
                                  B E N D S Q L
                                    Installer
--------------------------------------------------------------------------------
Website: https://databend.com
Docs: https://docs.databend.com
Github: https://github.com/databendlabs/bendsql
--------------------------------------------------------------------------------
>>> Downloading BendSQL via https://repo.databend.com/bendsql/v0.22.2/bendsql-aarch64-apple-darwin.tar.gz ✓
>>> Unpacking archive to /usr/local ... ✓
>>> Install succeeded! 🚀
>>> To start BendSQL:
    bendsql --help
>>> More information at https://github.com/databendlabs/bendsql

新增数据类型:GEOMETRY 和 GEOGRAPHY

Databend 新增对地理空间数据类型的基础支持,用于处理空间数据:

  • GEOMETRY: 使用平面坐标系(笛卡尔坐标),适用于二维几何对象。坐标以 (X, Y) 对表示,单位由关联的空间参考系统 (SRS) 决定。默认 SRID 为 0,但可以指定自定义 SRID。适合城市或省级分析等小范围测量,计算速度快且资源占用低,但在较大区域可能产生显著误差。
  • GEOGRAPHY: 使用基于纬度(-90° 至 90°)和经度(-180° 至 180°)的地理坐标系(球面坐标),遵循 WGS 84 标准(SRID 4326)。专为全球或大范围空间数据设计,在处理大距离时提供高精度,但计算复杂度和资源需求较高。必要时可以转换为 GEOMETRY 类型。

目前已支持的地理空间函数:

  • Geometry 函数
  • H3 函数

新支持子句:SETTINGS

新增 SETTINGS 子句: 用于配置特定设置,以影响其前置 SQL 语句的执行行为。

-- 允许 COPY INTO 使用最多 100 个线程进行并行处理:
SETTINGS (max_threads = 100) COPY INTO ...

新增 Map Lambda 函数

  • MAP_FILTER: 使用 lambda 表达式定义条件,从 map 中筛选出符合条件的键值对。
SELECT MAP_FILTER({101:15, 102:8, 103:12, 104:5}, (product_id, stock) -> (stock < 10)) AS low_stock_products;

┌────────────────────┐
│ low_stock_products │
├────────────────────┤
│ {102:8,104:5}      │
└────────────────────┘
  • MAP_TRANSFORM_KEYS: 使用 lambda 表达式对 map 中的每个键进行转换。
SELECT MAP_TRANSFORM_KEYS({101: 29.99, 102: 45.50, 103: 15.00}, (product_id, price) -> product_id + 1000) AS updated_product_ids;

┌────────────────────────────────────┐
│         updated_product_ids        │
├────────────────────────────────────┤
│ {1101:29.99,1102:45.50,1103:15.00} │
└────────────────────────────────────┘
  • MAP_TRANSFORM_VALUES: 使用 lambda 表达式对 map 中的每个值进行转换。
SELECT MAP_TRANSFORM_VALUES({101: 100.0, 102: 150.0, 103: 200.0}, (product_id, price) -> price * 0.9) AS discounted_prices;

┌───────────────────────────────────┐
│         discounted_prices         │
├───────────────────────────────────┤
│ {101:90.00,102:135.00,103:180.00} │
└───────────────────────────────────┘
  • JSON_MAP_FILTER: 根据使用 lambda 表达式定义的条件,筛选 JSON 对象中的键值对。
SELECT JSON_MAP_FILTER('{"status":"active", "user":"admin", "time":"2024-11-01"}'::VARIANT, (k, v) -> k = 'status') AS filtered_metadata;

┌─────────────────────┐
│  filtered_metadata  │
├─────────────────────┤
│ {"status":"active"} │
└─────────────────────┘
  • JSON_MAP_TRANSFORM_KEYS: 使用 lambda 表达式对 JSON 对象中的每个键进行转换。
SELECT JSON_MAP_TRANSFORM_KEYS('{"name":"John", "role":"admin"}'::VARIANT, (k, v) -> CONCAT(k, '_v1')) AS versioned_metadata;

┌──────────────────────────────────────┐
│          versioned_metadata          │
├──────────────────────────────────────┤
│ {"name_v1":"John","role_v1":"admin"} │
└──────────────────────────────────────┘
  • JSON_MAP_TRANSFORM_VALUES: 使用 lambda 表达式对 JSON 对象中的每个值进行转换。
SELECT JSON_MAP_TRANSFORM_VALUES('{"product1":"laptop", "product2":"phone"}'::VARIANT, (k, v) -> CONCAT(v, ' - Special Offer')) AS promo_descriptions;

┌──────────────────────────────────────────────────────────────────────────┐
│                            promo_descriptions                            │
├──────────────────────────────────────────────────────────────────────────┤
│ {"product1":"laptop - Special Offer","product2":"phone - Special Offer"} │
└──────────────────────────────────────────────────────────────────────────┘

新增日期函数

  • LAST_DAY: 根据提供的日期或时间戳,返回指定区间(周、月、季度或年)的最后一天。
SELECT LAST_DAY(to_date('2024-11-13'), month) AS billing_date;

┌──────────────┐
│ billing_date │
├──────────────┤
│ 2024-11-30   │
└──────────────┘
  • NEXT_DAY: 返回给定日期或时间戳之后,下一次出现的指定星期几的日期。
SELECT NEXT_DAY(to_date('2024-11-13'), monday) AS next_monday;

┌─────────────┐
│ next_monday │
├─────────────┤
│ 2024-11-18  │
└─────────────┘
  • PREVIOUS_DAY: 返回给定日期或时间戳之前,最近一次出现的指定星期几的日期。
SELECT PREVIOUS_DAY(to_date('2024-11-13'), friday) AS last_friday;

┌─────────────┐
│ last_friday │
├─────────────┤
│ 2024-11-08  │
└─────────────┘

新增 Trim 函数

  • LTRIM: 移除字符串开头(左侧)的特定字符。
SELECT LTRIM('xxdatabend', 'xx');

┌───────────────────────────┐
│ ltrim('xxdatabend', 'xx') │
├───────────────────────────┤
│ databend                  │
└───────────────────────────┘
  • RTRIM: 移除字符串末尾(右侧)的特定字符。
SELECT RTRIM('databendxx', 'xx');

┌───────────────────────────┐
│ rtrim('databendxx', 'xx') │
├───────────────────────────┤
│ databend                  │
└───────────────────────────┘
  • TRIM_BOTH: 移除字符串两端的特定字符。
SELECT TRIM_BOTH('xxdatabendxx', 'xx');

┌─────────────────────────────────┐
│ trim_both('xxdatabendxx', 'xx') │
├─────────────────────────────────┤
│ databend                        │
└─────────────────────────────────┘
  • TRIM_LEADING: 移除字符串开头(左侧)的特定字符。
SELECT TRIM_LEADING('xxdatabend', 'xx');

┌──────────────────────────────────┐
│ trim_leading('xxdatabend', 'xx') │
├──────────────────────────────────┤
│ databend                         │
└──────────────────────────────────┘
  • TRIM_TRAILING: 移除字符串末尾(右侧)的特定字符。
SELECT TRIM_TRAILING('databendxx', 'xx');

┌───────────────────────────────────┐
│ trim_trailing('databendxx', 'xx') │
├───────────────────────────────────┤
│ databend                          │
└───────────────────────────────────┘

关于 Databend

Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

👨‍💻‍ Databend Cloud:databend.cn

📖 Databend 文档:docs.databend.cn/

💻 Wechat:Databend

✨ GitHub:github.com/databendlab…


http://www.kler.cn/a/443812.html

相关文章:

  • SQLAlchemy 2.0 高级特性详解
  • iterm2 focus时灰色蒙层出现的解决办法
  • 【Leetcode 热题 100】124. 二叉树中的最大路径和
  • 分布式系统架构5:限流设计模式
  • 【西南大学主办】第九届电子信息技术与计算机工程国际学术会议(EITCE 2025)
  • JVM性能优化一:初识内存泄露-内存溢出-垃圾回收
  • 【深度学习之三】FPN与PAN网络详解
  • 为SSH2协议服务器的用户设置密钥
  • “视觉革命:走进可视化AI识别系统的智能世界
  • 深度学习项目的 Python 实现复现指南
  • Day27 - 大模型微调,LLaMA搭建
  • 初学stm32 ——— 串口通信
  • elementui在任意页面点击消息,弹出消息对应页面处理弹窗
  • 2.metagpt中的软件公司智能体 (ProductManager 角色)
  • @Resource与@Autowire
  • VGGNet:深度学习中的卷积神经网络经典之作
  • Elasticsearch 实战应用:开启数据搜索与分析新征程
  • c++ 找第一个只出现一次的字符
  • 人力资本管理SaaS的升级之路:群硕以本地化+云创新驱动行业变革
  • Java聊天室系统的设计与实现【源码+文档】
  • java数据类型(补充-引用类型)
  • 整点(枚举)
  • React 19有哪些新特性?
  • WPF+MVVM案例实战与特效(四十四)- WPF多语言支持全解析:轻松实现国际化应用
  • List;Set;Map集合
  • C++总结联想文档