---
title: Databend 开源周报第 152 期
description: '本周 Databend 新增内置 UDFs 支持，允许用户在部署时预先定义 UDFs。'
slug: category-weekly/databend-weekly-152
date: 2024-07-08
tags: [weekly]
category: Weekly
cover_url: 'weekly/weekly-152.png'
image: 'weekly/weekly-152.png'
contributors:
  - name: andylokandy
  - name: b41sh
  - name: BohuTANG
  - name: Chasen-Zhang
  - name: dantengsky
  - name: Dousir9
  - name: dqhl76
  - name: drmingdrmer
  - name: everpcpc
  - name: forsaken628
  - name: kkk25641463
  - name: lichuang
  - name: SkyFan2002
  - name: soyeric128
  - name: sundy-li
  - name: TCeason
  - name: Xuanwo
  - name: xudong963
  - name: youngsofun
  - name: zhang2014
  - name: zhyass
authors:
  - DatabendLabs
---

> [Databend](https://github.com/databendlabs/databend) 是一款现代云数仓。专为弹性和高效设计，为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务：[https://app.databend.cn](https://app.databend.cn) 。

{/* truncate */}

## What's On In Databend

探索 Databend 本周新进展，遇到更贴近你心意的 Databend。

### 支持内置 UDFs

Databend 现在已经支持在配置文件中预定义 UDFs 的能力，允许在部署时预先内置部分实用的 UDFs。

示例如下：

```toml
[[query.udfs]]
name = "ping"
definition = "CREATE FUNCTION ping(STRING) RETURNS STRING LANGUAGE python HANDLER = 'ping' ADDRESS = 'http://0.0.0.0:8815'"
```

如果您想了解更多信息，欢迎联系 [Databend 团队](https://databend.cn/contact-us/)，或查看下面列出的资源。

- [PR #15938 | feat: add built-in udfs in config](https://github.com/databendlabs/databend/pull/15938/)

## Beyond the Code

一起来探索 Databend 社区和周边生态中的新鲜事。

### 使用 bend-ingest-kafka 实时导入数据

bend-ingest-kafka 是一个专为 Databend 设计的实时数据导入工具，它允许用户从 Apache Kafka 直接将数据流导入到 Databend 中，实现数据的实时分析和处理。这一工具相比 Kafka Connector 更加轻量、简单和可靠。

```bash
bend-ingest-kafka
  --kafka-bootstrap-servers="127.0.0.1:9092,127.0.0.2:9092"\
  --kafka-topic="Your Topic"\
  --kafka-consumer-group= "Consumer Group"\
  --databend-dsn="http://root:root@127.0.0.1:8000"\
  --databend-table="db1.tbl" \
  --data-format="json" \
  --batch-size=100000 \
  --batch-max-interval=300
```

- [bend-ingest-kafka | Ingest Kafka data into Databend](https://github.com/databendcloud/bend-ingest-kafka)

## Highlights

以下是一些值得注意的事件，也许您可以找到感兴趣的内容。

- 支持基于败者树的排序算法。
- 支持利用 admin API 实时查询 profile 信息。
- 为 UDF 支持租户和查询 ID，方便进一步追踪错误。
- 实现 HAVERSINE、ST_LENGTH 和 ST_DISTANCE 等函数。

## What's Up Next

我们始终对前沿技术和创新理念持开放态度，欢迎您加入社区，为 Databend 注入活力。

### 改进优化器直方图

优化器通常使用直方图来估计列的数据分布，从而做出更优的查询计划。然而，假如数据分布假设不准确，可能会导致次优的查询执行计划。

目前 Databend 优化器的直方图假设数据是均匀分布的，但对于很多数据集而言，其数据分布可能并不均匀，这会导致优化器生成错误的连接顺序。

[Issue #15963 | Improve optimizer histogram](https://github.com/databendlabs/databend/issues/15963)

如果你对这个主题感兴趣，可以尝试解决其中的部分问题或者参与讨论和 PR review。或者，你可以点击 https://github.com/databendlabs/databend/issues 来挑选一个随机问题，祝好运！

## Changelog

前往查看 Databend 每日构建的变更日志，以了解开发的最新动态。

地址：https://github.com/databendlabs/databend/releases
