写点什么

Concurrent 发布 Lingual——一种用于 Hadoop 的领域专用语言

  • 2013-03-28
  • 本文字数:2048 字

    阅读完需:约 7 分钟

Cascading 是一个流行的应用框架,是一个面向企业数据流的模式语言。Cascading 可以定义复杂的数据处理流程,创建面向复杂数据的框架。这些框架可被用来作为领域专用语言(DSLs) 进行脚本编写。

Lingual 最新增加到Cascading 扩展套件中的新的基于SQL 的领域专用语言,整合了 Optiq (一个动态数据管理框架)的能力和 Cascading 基于 Hadoop 的执行。Lingual 的目标,是降低熟悉 SQL、JDBC 和传统 BI 工具的开发人员和数据分析师使用 Hadoop 的门槛。它所提供的能力,被公司誉为“真正用于 Cascading 和 Hadoop 的 SQL”。

据 Chris Wensel(Cascading 技术总监兼创始人)表示,Lingual 的目标是提供符合 ANSI 标准的 SQL 接口,该接口被设计为与所有知名的 Hadoop 发行版兼容——无论是自建的还是在云环境中的。它可以从传统数据仓库中“剪贴”已有的 ANSI 标准 SQL 代码,这样一来,用户就能够直接访问被锁在 Hadoop 集群中的数据。它也可以从 Hadoop 乃至大量各种不同的 BI 工具中查询并导出数据。

使用 Lingual,公司可以通过标准的技术把已有的技术和产品投资平移到 Hadoop 上,立刻就能够发挥它们的价值。如果分析师和开发人员熟悉 SQL、JDBC 或者传统的 BI 工具,可以现在马上很容易地在 Hadoop 上创建大数据应用,从而大幅提升工作效率,提前将产品推向市场。

Lingual 并不打算为 Hadoop 集群中上 PB 级别的数据提供次秒级(sub-second)的响应时间。公司更为重视的目标是,简化应用向 Hadoop 迁移的过程——实际上,最大的挑战主要集中在关系型数据库或大规模并行处理数据库向 Hadoop 的迁移。

Lingual 发行版包括

  • 在 Cascading 框架上层构建的 ANSI 标准 SQL 解析器与优化器
  • 大规模非结构化数据之中的关系型数据编目视图
  • 用来测试和提交 Hadoop 查询的 SQL shell
  • 以 JDBC 驱动程序集成现有的 BI 工具和应用服务器

InfoQ 有幸与 Concurrent 股份有限公司的技术总监兼创始人 Chris K Wensel 讨论了 Lingual。

InfoQLingual 看上去很像 Apache Hive。您能谈一下 Lingual 相比 Hive 最主要的优势吗?

WenselLingual 首要的目标集中在 ANSI 标准的兼容性上。Hadoop 从来都不是单独使用的,你既可以把数据从 HDFS 位桶(bit-bucket)转入备选工具(如 R 或 Mondrian),也可以把现有的工作负载转移到 Hadoop 上,以发挥其性价比的优势。无论是哪种情况,很大的可能性是你本来就熟悉 SQL,或者你正迁移的“应用”或查询已经是基于 SQL 来做的,甚至还有可能是你正使用的工具只能识别 SQL。所以,提供基于标准的 SQL 接口非常重要。

为了达成这个目标,我们做了很多测试。我们现在已经从 Mondrian 测试套件中提取了 6000 多个复杂 SQL 查询,并且我们已经达到了 90% 的测试覆盖,而且,还计划从流行的工具中吸收增加更多的测试。

Lingual 并不打算做成一个提供人类级别响应时间的专用查询工具。因此,我们建议使用一个适当的分布式 MPP(大规模并行处理)风格的数据库。我不建议在非 Hadoop 设计的场景下使用 Hadoop。

这就是说,我们提供了一个遵循 JDBC 驱动程序的标准,可以使用 Cascading 的“本地模式”去测试非本地数据的查询,这种方式不需要依赖 Hadoop 去提升测试速度。

在 ANSI 标准依丛性目标之上,Lingual 运行于 Cascading 的上层,所以任何针对 Cascading 的改进,或者任何新的“规划师”(除了专门为 Hadoop 准备的),以及本地内存处理,连同 Cascading 现有的健壮性、灵活性、可扩展性、标准性(很多公司已经在计算场景中应用了标准化的 Cascading)一起,都将被 Lingual 继承过来。

InfoQ:我们从现有的产品描述上还无法非常清晰地了解 Lingual 如何定义和维护关系型数据库编目。您可以解释一些实现细节吗?它是否需要准备好特定的文件,或者使用类似于 Hive SerDe 的机制去提供现有数据与表结构定义的映射?

Wensel在最初的发布里有一个内置的“单用户”编目。我们将在短期内提供 HCatalog 集成及(或)一个备选的方案。当前,元数据编目是一个琐细的(并可由人工编辑的)JSON 文档,它可以保存在本地文件系统或 HDFS(甚至 S3)上,可以允许基本的共享。

至于读 / 写数据方面,Lingual 将整合提供所有 Cascading(以及 Cascalog、Scalding 等等)的支持。这些都通过 Lingual 的命令行接口进行管理。

用户不必使用任何“Cascading 特有的”格式去查询数据。

用户可以从命令行中把一个文件简单地注册为一张表,如果一切顺利的话,在该文件中可以找到任何元数据(列和类型)信息。我们将在接下来的工作中把它逐步细化,把编目工具中最新的可支持的数据格式也添加进来。

InfoQ Lingual 的安全模型是如何考虑的?它是否基于文件访问权限?是否可以被 JDBC 驱动程序支持?

Wensel目前没有考虑去扩展 Hadoop 当前的安全模型。

查看英文原文: Concurrent Releases Lingual, a SQL DSL for Hadoop


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-03-28 09:592180

评论

发布
暂无评论
发现更多内容

Navicat Premium 15 for Mac(数据库开发工具)v15.0.36中文激活版

iMac小白

淘宝/天猫获取卖出的商品订单列表 API(taobao.seller_order_list)

技术冰糖葫芦

API

当 OpenTelemetry 遇上阿里云 Prometheus

阿里巴巴云原生

阿里云 云原生 可观测

服务器如何配置支持history模式

百度搜索:蓝易云

云计算 Linux 运维 云服务器 history

Nacos 在云原生架构下的演进

阿里巴巴云原生

阿里云 云原生 nacos

MATLAB R2023a for Mac(商业数学软件)v9.14.0 (2337262)激活版

iMac小白

Nacos 2.3.0 正式版发布,Nacos Controller 项目开源

阿里巴巴云原生

阿里云 云原生 nacos

恭喜 Apache Dubbo 和 Nacos 荣获开放原子“2023年度生态开源项目”

阿里巴巴云原生

阿里云 开源 云原生

阿里云 ACK 云原生 AI 套件中的分布式弹性训练实践

阿里巴巴云原生

阿里云 分布式 云原生

ubuntu系统如何查看已安装cudnn版本

百度搜索:蓝易云

Linux ubuntu 运维 云服务器 cudnn

Macs Fan Control Pro for mac v1.5.16中文激活版下载

iMac小白

Topaz Video AI for mac(人工智能视频增强软件)v4.1.0激活版

iMac小白

2023启示录丨我的大模型创业这一年

自象限

创业 #大模型

SecureCRT for mac(终端SSH工具)v9.3.2激活版

iMac小白

2023年的技术总结和工作反思

芯动大师

年终总结

随想2024.01.21

hackstoic

精力管理

MATLAB R2023b for Mac v23.2.0.2428915中文激活版

iMac小白

Microsoft Remote Desktop for Mac v10.9.5中文正式版下载

iMac小白

MSE Nacos:解决敏感配置的安全隐患

阿里巴巴云原生

阿里云 微服务 云原生 nacos

改变命运的抉择

少油少糖八分饱

小说 命运 东野圭吾 推理小说 悬疑

文心一言 VS 讯飞星火 VS chatgpt (183)-- 算法导论13.4 7题

福大大架构师每日一题

福大大架构师每日一题

Redis Desktop Manager for Mac v2022.5.0中文激活版下载

iMac小白

Termius for Mac(SSH客户端)v8.4.0激活版

iMac小白

活动回顾丨阿里云云原生 Serverless 技术实践营西安站 PPT 下载

阿里巴巴云原生

阿里云 Serverless 云原生

Lightroom Classic 2024 for Mac(LRC2024)v13.0.2中文激活版

iMac小白

为大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化实践

阿里巴巴云原生

阿里云 AI 云原生

Seata 2.x 首个版本正式发布,支持 Raft 集群模式

阿里巴巴云原生

阿里云 云原生 seata

CentOS 8上使用NVM安装特定版本的Node.js教程

百度搜索:蓝易云

Linux centos 运维 Node 云服务器

FlagData 2.0:全面、高效的大模型训练数据治理工具集

mr.well

NLP 大模型 LLM模型 #大模型

工作中常用到的java8相关操作总结

智慧源点

stream java8 LocalDateTime Optional

调研 7 个开源项目后,这家数据合规平台如何构建高性能网关

阿里巴巴云原生

阿里云 云原生

Concurrent发布Lingual——一种用于Hadoop的领域专用语言_大数据_Boris Lublinsky_InfoQ精选文章