写点什么

谷歌发布 Hive-BigQuery 开源连接器,加强跨平台数据集成能力

  • 2023-09-01
    北京
  • 本文字数:1175 字

    阅读完需:约 4 分钟

谷歌发布Hive-BigQuery开源连接器,加强跨平台数据集成能力

最近,谷歌宣布正式发布Hive-BigQuery Connector,简化 Apache Hive 和 Google BigQuery 之间的集成和迁移。这个开源连接器是一个 Hive 存储处理程序,它使 Hive 能够与 BigQuery 的存储层进行交互。

 

这个新增选项支持在 Hive 中使用类 SQI 查询语言HiveQL对 BigQuery 进行读写。这样,数据工程师就可以在不移动数据的情况下访问和查询 BigQuery 数据集,而 BigQuery 的用户则可以利用 Hive 的工具、库和框架进行数据处理和分析。谷歌云解决方案架构师Julien Phalip写道:

 

Hive-BigQuery 连接器实现了 Hive StorageHandler API,使 Hive 工作负载可以与 BigQuery 和 BigLake 表集成。所有的计算操作(如聚合和连接)仍然由 Hive 的执行引擎处理,连接器则管理所有与 BigQuery 数据层的交互,而不管底层数据是存储在 BigQuery 本地存储中,还是通过 BigLake 连接存储在云存储桶中。

 

Apache Hive是一个构建在 Hadoop 之上的流行的分布式数据仓库选项,它允许用户在大型数据集上执行查询。BigQuery是谷歌云提供的无服务器数据仓库,支持对海量数据集进行可扩展的查询。为了确保数据的一致性和可靠性,这次发布的开源连接器使用 Hive 的元数据来表示 BigQuery 中存储的表。

 

该连接器支持使用 MapReduce 和 Tez 执行引擎进行查询,在 Hive 中创建和删除 BigQuery 表,以及将 BigQuery 和 BigLake 表与 Hive 表进行连接。它还支持使用 Storage Read API 流和 Apache Arrow 格式从 BigQuery 表中快速读取数据。



图片来源:谷歌数据分析博客

 

根据谷歌云的说法,Hive-BigQuery 连接器可以在以下场景中为企业提供帮助:确保迁移过程中操作的连续性,将 BigQuery 用于需要数据仓库子集的需求,或者保有一个完整的开源软件技术栈。

 

借助BigQuery Migration Service,谷歌提供了BigQuery批处理SQL转换器交互式SQL转换器支持,可以将 Hive 查询转换为 BigQuery 特有的兼容 ANSI 的 SQL 语法。Phalip 解释说:

 

这个新的 Hive-BigQuery 连接器提供了一个额外的选项:你可以保留原来的 HiveQL 方言的查询,并继续在集群上使用 Hive 执行引擎运行这些查询,但让它们访问已迁移到 BigQuery 和 BigLake 表的数据。

 

这不是谷歌为分析不同的数据集并减少数据转换而发布的第一个开源连接器:Cloud Storage Connector实现了 Hadoop Compatible File System(HCFS) API,用于读写 Cloud Storage 中的数据文件,而Apache Spark SQL connector for BigQuery则实现了 Spark SQL Data Source API,将 BigQuery 表读取到 Spark 的数据帧中,并将数据帧写回 BigQuery。

 

Hive-BigQuery 连接器支持 Dataproc 2.0 和 2.1。谷歌还大概介绍了有关分区的一些限制。由于 Hive 和 BigQuery 的分区方式不同,所以该连接器不支持 Hive PARTITIONED BY 子句。但是,开发人员仍然可以使用 BigQuery 支持的时间单位列分区选项和摄入时间分区选项。

 

感兴趣的读者,可以从GitHub上获取该连接器。

 

原文链接:

https://www.infoq.com/news/2023/07/google-hive-bigquery-connector/

2023-09-01 08:006503

评论

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

线程的三种等待唤醒机制(面试必问)

hepingfly

Java 线程 等待唤醒

批判性思维自修课(一)

石君

28天写作 批判性思维

Python 中 lru_cache 的使用和实现

zikcheng

Python 源码分析 LRU

吐血整理:推荐几款顶级好用的IDEA插件

Silently9527

Java intellij-idea idea插件

请用思维导图画出架构师训练营所有技术知识点

DL

第九周作业

Binary

【JS】Array.from() 将伪数组转换成数组

德育处主任

JavaScript js ES6 array 28天写作

开发质量提升系列:checklist投产检查列表(上)

罗小龙

代码质量 28天写作 checklist

学习“利益相关者”后对自己工作的一点思考

隋泽

如何基于海思芯片快速搭建Agora RTC应用

Hanson

WebRTC

架构师训练营 4 期 第4周

引花眠

架构师训练营 4 期

云游戏的那些事儿!读《大厂们的下一件大事儿》有感

李忠良

28天写作

微信直播也有跳舞小姐姐了 | 视频号28天(17)

赵新龙

28天写作

产品 0 期 - 第一章作业

让时间说真话

产品经理

【函数计算实践】一个应用案例

程序员架构进阶

阿里云 架构 项目实战 函数计算 28天写作

时间复杂度与常见排列算法

Changing Lin

算法

JavaScript07 - 流程控制语句

Mr.Cactus

JavaScript

GNUCash 2: 缺点

lidaobing

GNUCash 28天写作

第二章作业

DF

架构师训练营第四周作业 - 命题作业

阿德儿

【CSS】页面顶部阴影

德育处主任

CSS 大前端 html/css CSS小技巧 28天写作

LeetCode题解:105. 从前序与中序遍历序列构造二叉树,Simple O(n) without map,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

产品经理训练营第二周作业-利益相关者

隋泽

产品经理训练营

「架构师训练营 4 期」 第四周 - 002

凯迪

JavaScript06 - 操作符

Mr.Cactus

JavaScript

Java-可重入锁

hepingfly

Java 可重入锁

【JS】Array.of() 创建数组

德育处主任

JavaScript 大前端 js ES6 28天写作

大数据知识专栏 - 数据仓库

小马哥

大数据 hive 数据仓库 七日更

认识产品经理

ALone

JVM 垃圾收集算法

看山

JVM 垃圾回收算法

JavaScript08 - 数组

Mr.Cactus

JavaScript

谷歌发布Hive-BigQuery开源连接器,加强跨平台数据集成能力_数据库_Renato Losio_InfoQ精选文章