Apache Drill:一款开源的分布式SQL查询引擎

Apache Drill 是一款开源分布式 SQL 查询和分析引擎,专为半结构化的大数据和云存储进行了优化,能够提供低延迟的交互式数据分析。

Apache Drill 项目主要基于 Java 语言开发,遵循 Apache 2.0 开源协议,代码托管在 GitHub:

https://github.com/apache/drill

功能特性

  • 分布式架构:核心服务 Drillbit 负责接收客户端请求、处理查询并将结果返回给客户端。一个 Drill 集群可以由多个 Drillbit 节点组成,它们通过 ZooKeeper 来协调集群成员管理和健康检查。
  • 高性能:Drill 基于分布式执行引擎,同时采用列式执行、矢量化、运行时编译以及乐观和管道执行模型等优化技术实现了大数据集的高效实时查询。
  • 支持 SQL 标准:Drill 支持 ANSI SQL 语法,降低了学习成本。
  • 动态模式发现:Drill 在处理数据时可以利用自描述的半结构化/嵌套数据格式(例如 Parquet、JSON、AVRO 等)中内含的信息,在读取数据的同时动态理解其结构,无需依赖中央元数据库。
  • 多源联合查询:Drill 通过可配置的存储插件来连接各种数据源,包括关系型数据库(PostgreSQL、MySQL、Oracle、SQL Server, Apache Derby、H2 等)、Hadoop、HBase、Hive、MongoDB、Kafka、Google Sheets、ElasticSearch、云存储(例如 Amazon S3)及本地文件系统等。同时允许在单个查询中关联来自不同数据源的数据。
  • 工具集成:Drill 通过JDBC/ODBC 驱动为业务人员、分析师等提供了各种 BI 分析工具集成,例如 Tableau、SAS、Excel 等。开发人员也可以利用 REST API 在应用程序中集成 Drill 功能。
  • 部署模式:Drill 支持嵌入模式(单机)和分布式部署模式,满足不同应用场景需求。

下载安装

Apache Drill 提供了多种部署方式,使用 Docker 进行部署体验的命令如下:

复制代码
docker run -it --name drill \
	-p 8047:8047 \		# web and REST
	-p 31010:31010 \	# JDBC
	apache/drill

执行成功之后会自动显示 SQLLine 命令行工具:

复制代码
Apache Drill 1.22.0
"Data is the new oil. Ready to Drill some?"
apache drill> 

直接输入查询语句:

sql 复制代码
apache drill> SELECT version FROM sys.version;
+---------+
| version |
+---------+
| 1.22.0  |
+---------+
1 row selected (1.191 seconds)

或者也可以通过以下地址访问 Web UI:

http://localhost:8047/

官方文档:

https://drill.apache.org/docs/getting-started/

总结

Apache Drill 是一个功能强大且灵活的 SQL 查询引擎,特别适合处理半结构化数据和多数据源联合查询。

相关推荐
学好statistics和DS1 分钟前
Git 同步冲突
大数据·git·elasticsearch
俊哥大数据7 分钟前
【实战项目4】Hadoop金融信贷大数据离线分析项目
大数据·hadoop·金融
samLi06208 分钟前
【工具变量】上市公司是否为高科技行业DID数据-含参考文献及代码(1990-2024年)
大数据
智能相对论10 小时前
CES深度观察丨智能清洁的四大关键词:变形、出户、体验以及生态协同
大数据·人工智能
焦耳热科技前沿11 小时前
北京科技大学/理化所ACS Nano:混合价态Cu₂Sb金属间化合物实现高效尿素电合成
大数据·人工智能·自动化·能源·材料工程
min18112345612 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
武子康12 小时前
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
大数据·后端·机器学习
数据智研13 小时前
【数据分享】(2005–2016年)基于水资源承载力的华北地区降水与地下水要素数据
大数据·人工智能·信息可视化·数据分析
TDengine (老段)14 小时前
TDengine Python 连接器入门指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
亚古数据15 小时前
亚古数据:查询斯里兰卡公司可以获取什么文件和信息?
大数据·亚古数据·斯里兰卡公司查询