怎么查看网站备案号,服装品牌策划,广东网站建设方案报价,vps上安装wordpress在2020年#xff0c;你的数据仓库和基础设施需要满足哪些需求#xff1f;
我们总结了几下几点#xff1a;
首先#xff0c;当下的企业正快速转向更实时化的模式#xff0c;这要求企业具备对线上流式数据进行低延迟处理的能力#xff0c;以满足实时#xff08;real-tim…在2020年你的数据仓库和基础设施需要满足哪些需求
我们总结了几下几点
首先当下的企业正快速转向更实时化的模式这要求企业具备对线上流式数据进行低延迟处理的能力以满足实时real-time或近实时near-real-time的数据分析需求。人们对从数据产生到数据可用之间延迟的容忍度越来越低。曾经几个小时甚至几天的延误不再被接受。用户期待的是几分钟甚至几秒钟的数据端到端体验。
第二数据基础设施需要具备同时处理线上和线下数据的能力两种模式在实际应用中都不可或缺。除了上面提到的流处理用户也需要批处理做即席查询ad-hoc query和数据挖掘。数据基础设施不应该要求用户二选一而应该提供两个选项并且都是高质量的。
第三数据工程师、数据科学家、分析师和运维人员都在渴望一套统一的数据技术栈以便更轻松的使用。大数据领域的技术栈已经支离破碎很多年了企业可能有一套流处理系统一套批处理系统一套线上数据分析系统。这基本都是由于当年流处理框架不够成熟而被迫采用过时的 lambda 架构造成的问题。现在不同了流处理已成为主流终端用户不必再学习多种技能和维护各种复杂的工具和数据处理管道data pipeline。用户渴望的是一套统一的简单易学易维护的方案。
如果你对以上问题深有同感那说明这篇文章很适合你。我们来看看如何真正解决这个问题。
接下来我将带各位了解下 Flink 与 Hive 生产级别的整合工作。
Flink 与 Hive 生产级整合
Flink 一直遵循“ 流优先批是流的一个特例”的思想理念。在这一思想的指导下Flink 将最先进的流式处理技术运用到批处理中使得 Flink 的批处理能力一早就令人印象深刻。特别是在 Flink 1.10 中我们基本完成了从1.9开始的对 Blink planner 的整合工作后Flink SQL 的批处理能力更上一层楼。
Hive 在大数据生态中已成为标准的数据仓库组件。它不仅仅是一个 SQL 引擎也是一个数据管理系统。但由于自身的局限Hive 在当下面临很大的挑战也无法满足的用户需求。
基于此我们从 Flink 1.9 推出了 Flink 和 Hive 整合的 beta 版本。在过去几个月中我们基于用户的反馈在各个方面都对产品进行了加强。我很高兴的宣布Flink 和 Hive 的整合在 Flink 1.10 版本中能实现生产可用
下面来为大家介绍一些细节。
统一的元数据管理
Hive Metastore 已逐渐成为 Hadoop 生态中元数据管理的中枢。很多公司都用 Hive Metastore 管理他们的 Hive 甚至非 Hive 的元数据。
Flink 1.9 中我们推出了 Flink 的 HiveCatalog将 Flink 对接 Hive Metastore 中丰富的元数据。HiveCatalog 有两层作用。
一是它允许 Flink 用户将 Flink 本身的元数据包括表、函数等存储到 Hive Metastore 中。二是它允许 Flink 使用 Hive Metastore 中已有的 Hive 元数据使得 Flink 可以读写 Hive 的表。
Flink 1.10 中的新功能是用户可以对接几乎所有版本的 Hive Metastore。这里有一个例子是如何将 Flink 的 Kafka 表元数据存储到 Hive Metastore 中。
代码示例https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/hive/hive_catalog.html#example
流处理
由于 Hive 自身的缺陷用户无法获得实时数据导入的能力。但通过与 Flink 的整合用户可以解锁一些其他很有用的场景比如
对 Flink 的实时数据和 Hive 的离线数据做 join通过 Flink 回填 Hive 的数据
Hive 版本兼容
在 Flink 1.10 中我们兼容了几乎所有 Hive 1.x, 2.x, 3.x 的版本。
复用 Hive 函数
在 Flink 1.9 中用户已经可以复用 Hive UDF。这对 Hive 用户是极大的利好因为用户不需要再重新开发函数省时省力。
Flink 1.10 引入了 module 的概念并通过 HiveModule 支持了所有 Hive 自带的函数built-in functions。Hive 社区在过去很多年积累了数量可观的有用的自带函数这将方便用户在 Flink 更好地完成他们的工作。
加强读写 Hive 数据
1.10 加强了对 Hive 数据读写的支持。
在读方面Flink 可以读取 Hive 的分区表和视图view同时我们添加了很多读优化比如分区裁剪partition-pruning和 projection pushdown 来减少从文件系统摄入的数据对 ORC 文件我们加入了向量化读取。
在写方面Flink 引入了“INSERT INTO” 和 “INSERT OVERWRITE” 语法此外Flink 可以静态和动态写入 Hive 分区表。
更多的数据类型
1.10 中我们支持了更多的常用 Hive 类型。
后续规划
社区计划在用户反馈的基础上进一步优化两个系统间的整合。一些 1.11 的目标包括
Hive 的 near-real-time streaming sink原生 Parquet 文件读取额外的交互性 - 允许用户从 Flink 创建 Hive 的表和函数等更好地开箱即用性Hive 语法的支持
数仓正在向更实时化的方向发展与 Flink 的紧密结合会使这个趋势向前更进一步。
Flink 1.10 中与 Hive 在元数据和数据领域生产级别的结合都能使用户更好地解决实际问题为业务带来更多价值。
原文链接 本文为云栖社区原创内容未经允许不得转载。