Token导航 LogoToken导航TokenDH.com
开发external-servicegithub未标认证来源可访问许可证需确认审计通过

databricks-zerobus-ingestdatabricks Zerobus 摄取

Agent Skill

用于辅助数据整理、表格处理、CSV/Excel 分析、指标计算和图表准备。它适合让 Agent 清洗字段、汇总数据、发现异常、生成统计口径或把分析结果转成可读说明。使用时需要确认数据来源、字段含义和时间范围,避免把样本数据当全量事实;涉及敏感数据、导出文件或批量写回时,应先确认权限和脱敏边界。

总安装

259

周安装

11

GitHub Stars

1,317

下载量

91
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:databricks-zerobus-ingest(databricks Zerobus 摄取)
来源仓库:https://github.com/databricks-solutions/ai-dev-kit
仓库路径:skills/databricks-zerobus-ingest
安装命令:
npx skills add https://github.com/databricks-solutions/ai-dev-kit --skill databricks-zerobus-ingest
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/databricks-solutions/ai-dev-kit --skill databricks-zerobus-ingest

简介

用于通过 Zerobus gRPC API 直接将数据摄取到 Databricks Delta 表。

  • 支持逐条记录的数据摄取,无需消息总线基础设施,自动验证模式并物化数据。
  • 通过命令行工具调用,需配置 Databricks 环境及认证信息后使用。
  • 适用于需要高效、直接写入 Delta 表的场景,如流式或批量数据导入。
  • databricks-zerobus-ingest 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Zerobus Ingest

Build clients that ingest data directly into Databricks Delta tables via the Zerobus gRPC API.

Status: GA (Generally Available since February 2026; billed under Lakeflow Jobs Serverless SKU)

Documentation:


What Is Zerobus Ingest?

Zerobus Ingest is a serverless connector that enables direct, record-by-record data ingestion into Delta tables via gRPC. It eliminates the need for message bus infrastructure (Kafka, Kinesis, Event Hub) for lakehouse-bound data. The service validates schemas, materializes data to target tables, and sends durability acknowledgments back to the client.

Core pattern: SDK init -> create stream -> ingest records -> handle ACKs -> flush -> close


Quick Decision: What Are You Building?

ScenarioLanguageSerializationReference
Quick prototype / test harnessPythonJSON2-python-client.md
Production Python producerPythonProtobuf2-python-client.md + 4-protobuf-schema.md
JVM microserviceJavaProtobuf3-multilanguage-clients.md
Go serviceGoJSON or Protobuf3-multilanguage-clients.md
Node.js / TypeScript appTypeScriptJSON3-multilanguage-clients.md
High-performance system serviceRustJSON or Protobuf3-multilanguage-clients.md
Schema generation from UC tableAnyProtobuf4-protobuf-schema.md
Retry / reconnection logicAnyAny5-operations-and-limits.md

If not specified, default to python.


Common Libraries

These libraries are essential for ZeroBus data ingestion:

  • databricks-sdk>=0.85.0: Databricks workspace client for authentication and metadata
  • databricks-zerobus-ingest-sdk>=1.0.0: ZeroBus SDK for high-performance streaming ingestion
  • grpcio-tools These are typically NOT pre-installed on Databricks. Install them using execute_code tool:
  • code: "%pip install databricks-sdk>=VERSION databricks-zerobus-ingest-sdk>=VERSION"

Save the returned cluster_id and context_id for subsequent calls.

Smart Installation Approach

Check protobuf version first, then install compatible

grpcio-tools import google.protobuf runtime_version = google.protobuf.version print(f"Runtime protobuf version: {runtime_version}")

if runtime_version.startswith("5.26") or runtime_version.startswith("5.29"): %pip install grpcio-tools==1.62.0 else: %pip install grpcio-tools # Use latest for newer protobuf versions

Prerequisites

You must never execute the skill without confirming the below objects are valid:

  1. A Unity Catalog managed Delta table to ingest into
  2. A service principal id and secret with MODIFY and SELECT on the target table
  3. The Zerobus server endpoint for your workspace region
  4. The Zerobus Ingest SDK installed for your target language

See 1-setup-and-authentication.md for complete setup instructions.


Minimal Python Example (JSON)

import json
from zerobus.sdk.sync import ZerobusSdk
from zerobus.sdk.shared import RecordType, StreamConfigurationOptions, TableProperties

sdk = ZerobusSdk(server_endpoint, workspace_url)
options = StreamConfigurationOptions(record_type=RecordType.JSON)
table_props = TableProperties(table_name)

stream = sdk.create_stream(client_id, client_secret, table_props, options)
try:
    record = {"device_name": "sensor-1", "temp": 22, "humidity": 55}
    stream.ingest_record(json.dumps(record))
    stream.flush()
finally:
    stream.close()

Detailed guides

TopicFileWhen to Read
Setup & Auth1-setup-and-authentication.mdEndpoint formats, service principals, SDK install
Python Client2-python-client.mdSync/async Python, JSON and Protobuf flows, reusable client class
Multi-Language3-multilanguage-clients.mdJava, Go, TypeScript, Rust SDK examples
Protobuf Schema4-protobuf-schema.mdGenerate.proto from UC table, compile, type mappings
Operations & Limits5-operations-and-limits.mdACK handling, retries, reconnection, throughput limits, constraints

You must always follow all the steps in the Workflow

Workflow

  1. Display the plan of your execution
  2. Determinate the type of client
  3. Get schema Always use 4-protobuf-schema.md. Execute using the execute_code MCP tool
  4. Write Python code to a local file follow the instructions in the relevant guide to ingest with zerobus in the project (e.g., scripts/zerobus_ingest.py).
  5. Execute on Databricks using the execute_code MCP tool (with file_path parameter)
  6. If execution fails: Edit the local file to fix the error, then re-execute
  7. Reuse the context for follow-up executions by passing the returned cluster_id and context_id

Important

  • Never install local packages
  • Always validate MCP server requirement before execution
  • Serverless limitation: The Zerobus SDK cannot pip-install on serverless compute. Use classic compute clusters, or use the Zerobus REST API (Beta) for notebook-based ingestion without the SDK.
  • Explicit table grants: Service principals need explicit MODIFY and SELECT grants on the target table. Schema-level inherited permissions may not be sufficient for the authorization_details OAuth flow.

Context Reuse Pattern

The first execution auto-selects a running cluster and creates an execution context. Reuse this context for follow-up calls - it's much faster (~1s vs ~15s) and shares variables/imports:

First execution - use execute_code tool:

  • file_path: "scripts/zerobus_ingest.py"

Returns: {success, output, error, cluster_id, context_id,...}

Save cluster_id and context_id for follow-up calls.

If execution fails:

  1. Read the error from the result
  2. Edit the local Python file to fix the issue
  3. Re-execute with same context using execute_code tool:

- file_path: "scripts/zerobus_ingest.py" - cluster_id: "<saved_cluster_id>" - context_id: "<saved_context_id>"

Follow-up executions reuse the context (faster, shares state):

  • file_path: "scripts/validate_ingestion.py"
  • cluster_id: "<saved_cluster_id>"
  • context_id: "<saved_context_id>"

Handling Failures

When execution fails:

  1. Read the error from the result
  2. Edit the local Python file to fix the issue
  3. Re-execute using the same cluster_id and context_id (faster, keeps installed libraries)
  4. If the context is corrupted, omit context_id to create a fresh one

Installing Libraries

Databricks provides Spark, pandas, numpy, and common data libraries by default. Only install a library if you get an import error.

Use execute_code tool:

  • code: "%pip install databricks-zerobus-ingest-sdk>=1.0.0"
  • cluster_id: "<cluster_id>"
  • context_id: "<context_id>"

The library is immediately available in the same context.

Note: Keeping the same context_id means installed libraries persist across calls.

🚨 Critical Learning: Timestamp Format Fix

BREAKTHROUGH: ZeroBus requires timestamp fields as Unix integer timestamps, NOT string timestamps. The timestamp generation must use microseconds for Databricks.


Key Concepts

  • gRPC + Protobuf: Zerobus uses gRPC as its transport protocol. Any application that can communicate via gRPC and construct Protobuf messages can produce to Zerobus.
  • JSON or Protobuf serialization: JSON for quick starts; Protobuf for type safety, forward compatibility, and performance.
  • At-least-once delivery: The connector provides at-least-once guarantees. Design consumers to handle duplicates.
  • Durability ACKs: Each ingested record returns a RecordAcknowledgment. Use flush() to ensure all buffered records are durably written, or use wait_for_offset(offset) for offset-based tracking.
  • No table management: Zerobus does not create or alter tables. You must pre-create your target table and manage schema evolution yourself.
  • Single-AZ durability: The service runs in a single availability zone. Plan for potential zone outages.

Common Issues

IssueSolution
Connection refusedVerify server endpoint format matches your cloud (AWS vs Azure). Check firewall allowlists.
Authentication failedConfirm service principal client_id/secret. Verify GRANT statements on the target table.
Schema mismatchEnsure record fields match the target table schema exactly. Regenerate.proto if table changed.
Stream closed unexpectedlyImplement retry with exponential backoff and stream reinitialization. See 5-operations-and-limits.md.
Throughput limits hitMax 100 MB/s and 15,000 rows/s per stream. Open multiple streams or contact Databricks.
Region not supportedCheck supported regions in 5-operations-and-limits.md.
Table not foundEnsure table is a managed Delta table in a supported region with correct three-part name.
SDK install fails on serverlessThe Zerobus SDK cannot be pip-installed on serverless compute. Use classic compute clusters or the REST API (Beta) from notebooks.
Error 4024 / authorization_detailsService principal lacks explicit table-level grants. Grant MODIFY and SELECT directly on the target table — schema-level inherited grants may be insufficient.

Related Skills

Resources

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.98%
按下载量换算35

Claude

30.5%
按下载量换算28

Cursor

16.43%
按下载量换算15

Gemini CLI

9.59%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills