Apache Lens 2.7.1 介绍与选型指南

Apache Lens 2.7.1 认知篇:已进入 Apache Attic 的统一分析接口,Cube QL、共享 Schema 与 Driver 架构解析,官方快速上手示例与 Hive/Trino/Drill 选型对比并给出不建议新项目采用结论,信息基于官方来源联网溯源(查询日期 2026-10-18)。

Apache Lens2026/10/18

Apache Lens 2.7.1 介绍与选型指南

目标:本篇为 A1 认知篇,基于 Apache Lens 官方网站、Apache Attic 官方页面、GitHub 官方仓库 Release 与官方文档联网溯源整理(查询日期 2026-10-18),不涉及本地安装实测;本地安装实测属 B1 安装指南职责。注意:Apache Lens 已进入 Apache Attic(退役),本篇仅作技术认知与历史选型参考,不建议新项目采用。

一、信息基准

1.1 查询日期与版本依据

项目内容
查询日期2026-10-18
本次介绍版本Apache Lens 2.7.1(项目最后一个版本,此后无新版本发布)
版本依据一GitHub 官方仓库 apache/lens Releases Atom feed 实查:最新 tag apache-lens-2.7.1,发布时间 2018-01-24
退役依据Apache Attic 官方页面(attic.apache.org/projects/lens.html):Lens 于 2015 年 8 月成为顶级项目,2020 年 8 月宣布退休,2021 年 4 月完成向 Attic 的迁移
官网状态lens.apache.org 首页顶部标注 "This project has retired" 并指向 Attic 页面,站点内容最后发布时间 2018-02-06(页面标注 Last Published)

1.2 官方来源清单

来源URL
Apache Attic 项目页https://attic.apache.org/projects/lens.html
项目官网(冻结存档状态)https://lens.apache.org/
官方文档(安装与运行)https://lens.apache.org/lenshome/install-and-run.html
GitHub 官方仓库https://github.com/apache/lens
Releases(版本溯源)https://github.com/apache/lens/releases

二、软件概述

本文介绍 Apache Lens 2.7.1(项目最后一个版本,2018-01-24 发布;项目已于 2020 年 8 月退休、2021 年 4 月进入 Apache Attic)。Lens 官方定位为"Unified Analytics interface"(统一分析接口),目标是打破数据分析孤岛:在多个分层数据存储之上提供单一数据视图与最优执行环境,把 Hadoop 与传统数据仓库"无缝整合为一个整体"(来源:lens.apache.org 首页,查询日期 2026-10-18)。

官方列举的核心能力:基于 Hive Metastore 的共享 Schema 服务(数据管道 HCatalog 与分析应用共用同一套 schema)、面向数据立方体的 OLAP Cube QL 高层类 SQL 语言、JDBC 驱动与 Java 客户端及 CLI、提供查询/建表/调度/配额管理的 REST 应用服务、可插拔 Driver 架构(对接 Hive、列式数据仓库、Redshift 等报表系统)与基于查询代价的引擎选择。

  • 许可:Apache License 2.0(ASF 项目源码许可)。
  • 维护方:曾为 Apache 软件基金会顶级项目,现已退役进入 Attic,官方仅保留只读资源。
  • 形态:Lens 应用服务器(REST 服务)+ 客户端(CLI/JDBC/Java 库)。
  • 社区活跃度:GitHub 63 stars(仓库页面 stargazerCount 字段实查,查询日期 2026-10-18);2018-01-24 之后再无任何版本发布。
  • 版本节奏:2.7.0(2017-12-04)→ 2.7.1(2018-01-24)后停更(GitHub Releases Atom feed 实查)。

三、核心架构与核心概念

3.1 架构

构件职责
Lens 服务器(REST)应用服务本体:接收查询、修改 schema、调度查询、执行配额限制(官方首页描述)
Driver 体系可插拔执行引擎适配层,官方示例包括 Hive、列式数据仓库、Redshift 等报表系统
元数据层对分层数据存储提供抽象视图的简单元数据层
Schema 服务单一共享 schema 服务器,基于 Hive Metastore,与 HCatalog 数据管道及分析应用共享
客户端JDBC 驱动、Java 客户端库、CLI(bin/lens-cli.sh)与 Web UI

3.2 核心概念

  • Cube QL:面向数据立方体的高层类 SQL 语言,用于查询与描述以立方体组织的数据集,屏蔽底层存储细节。
  • 统一视图:跨分层数据存储的单一数据视图,查询由服务端按代价选择最优执行引擎(cost based engine selection)。
  • 配额与调度:服务端内建查询调度与配额管理,属于早期"统一分析治理"思路的实现。

四、功能特性

以下特性均可在 lens.apache.org 首页与官方文档查证(查询日期 2026-10-18):

特性域说明
统一分析接口跨分层数据存储的单一视图与最优执行环境
OLAP Cube QL高层类 SQL 语言查询/描述数据立方体
共享 Schema基于 Hive Metastore 的共享 schema 服务器
多客户端JDBC 驱动、Java 客户端库、CLI、Web UI、REST API
可插拔引擎Driver 架构对接 Hive、列式数仓、Redshift 等
代价选路按查询代价选择最优执行引擎
治理能力查询调度与配额限制

五、快速上手(引自官方文档,不本地实测)

以下步骤引自 lens.apache.org 官方文档 "Installing and Running Lens"(原文引自 https://lens.apache.org/lenshome/install-and-run.html ,查询日期 2026-10-18;该文档为退役前的冻结版本):

  1. 下载解压(官方原文命令):
tar zxvf apache-lens-<version>-bin.tar.gz

解压后目录包含 client、server、ui(及 LICENSE/NOTICE/README)。

  1. Hive 依赖说明(官方原文):Lens 2.6 及更早版本依赖 InMobi fork 的 Hive(0.13.x);2.6 版本起迁移到 Apache Hive,2.6 以上版本适配 Apache Hive 2.1+。

  2. 设置环境变量并启动服务(官方原文):环境变量需指向 Hadoop 与 Hive 安装目录;随后执行:

bin/lens-ctl start

官方说明:服务启动后可通过浏览器访问 Web UI,各 REST 服务(session、queryapi、metastore 等)可响应就绪检查;停止服务命令为 bin/lens-ctl stop。

  1. 启动 CLI 客户端(官方文档):使用 bin 目录下的 lens-cli.sh 启动 CLI 客户端进行交互。

说明:以上为退役前官方文档的最小运行路径,Hadoop/Hive 环境版本要求(Hive 2.1+)以该冻结文档为准。本地部署实测属 B1 安装指南职责。

六、适用场景与限制

6.1 历史适用场景(供理解其设计目标)

  • Hadoop 与传统数仓并存的混合体系下,为分析查询提供统一入口与引擎选路。
  • 以 Cube QL 屏蔽底层存储、面向 OLAP 立方体的分析建模。
  • 需要查询调度、配额等治理能力的早期统一分析平台。

6.2 限制与风险(现状)

  • 已退役,无安全维护:项目 2020 年 8 月退休、2021 年 4 月进入 Attic,官方不再发布版本与安全修复;将退役组件用于生产存在不可控的安全与兼容风险。
  • 生态脱节:最后版本 2.7.1(2018-01)适配的是 Hive 2.x 时代的 Hadoop 生态,与现代引擎(Spark 3/4、Trino 等)无官方适配。
  • 社区活动归零:63 stars、七年余无版本发布,问题无响应渠道。
  • 不建议新项目采用:其"统一分析接口"目标由 Trino、Spark 等活跃项目以更成熟的方式实现。

七、同类选型对比

对比维度:开源许可、社区活跃度(GitHub stars + 最近发版)、版本节奏、兼容矩阵。stars 为 GitHub 仓库页面 stargazerCount 字段实查,发版信息为 GitHub releases/latest 重定向、Atom feed 与 ASF 分发服务器实查,查询日期 2026-10-18。

项目定位许可GitHub stars最近发版(实查)版本节奏兼容矩阵
Apache Lens 2.7.1统一分析接口(已进入 Attic,2021-04 完成迁移)Apache-2.063(apache/lens)2.7.1(2018-01-24,末版)2018 年起停更Hive 2.1+;Hadoop 时代生态;JDBC/CLI/REST
Apache Hive 4.2.1Hadoop 数据仓库(HiveServer2)Apache-2.06,029(apache/hive)4.2.1(downloads.apache.org/hive/ 实查)持续维护的大版本序列HiveQL;Tez/Spark 执行器;ACID/物化视图等企业特性
Trino 484分布式联邦 SQL 查询引擎Apache-2.013,344(trinodb/trino)484(2026-10-16)周度发版数百 Connector;ANSI SQL;无 Hadoop 依赖
Apache Drill 1.22.0schema-free 分布式 SQL 引擎Apache-2.02,027(apache/drill)1.22.0(2025-06-29)年级大版本 + 补丁Java 11/17/21;文件/HDFS/S3/Hive/Kafka/JDBC 等插件;无 schema 直查

选型建议:Apache Lens 已进入 Apache Attic 且七年余无版本发布,不建议任何新项目采用,存量系统应制定迁移计划;需要"统一 SQL 入口 + 多引擎/多数据源"能力的团队,直接选择活跃的 Trino(联邦查询)或 Hive 4.x(Hadoop 数仓体系),schema-free 直查场景可评估 Drill。

八、参考链接