首页 > 其他分享 >震惊!Doris和Hive竟然能这样玩?数据分析的松弛感拉满

震惊!Doris和Hive竟然能这样玩?数据分析的松弛感拉满

时间:2024-12-17 13:31:29浏览次数:5  
标签:-- hive Catalog 感拉满 Hive 数据 Doris

震惊!Doris和Hive竟然能这样玩?数据分析的松弛感拉满

凌晨三点,办公室里只剩下屏幕的幽光。数据工程师小明正在和两个"大家伙"较劲 —— Doris和Hive。
“导出、清洗、导入…“他机械地在不同组件来回重复着这些步骤,眼睛都开始冒金星了。这样的场景在数据团队中太常见了,让人不禁想问:难道真的要这样手动倒腾数据一辈子吗?
就在这时,Doris向Hive递出了"橄榄枝” —— Hive Catalog闪亮登场!
它就像是给这对"数据CP"安排了一场完美联姻,从此Doris可以直接读写Hive的数据,让两个系统能够"双宿双飞”。不管是HDFS还是对象存储,不管是简单查询还是复杂分析,一个Catalog就能搞定!
这个神奇的功能让小明眼前一亮,终于可以跟那些繁琐的数据同步说再见了。让我们一起来揭秘这个数据工程师的"续命神器"吧!

[]

Doris与Hive的完美邂逅

深夜,小明正对着屏幕发愁。作为一名数据工程师,他面临着一个棘手的问题:公司的数据分散在Doris和Hive两个系统中,每次跨系统分析数据都要手动导出导入,繁琐且低效。

"要是能让Doris直接读写Hive的数据就好了…"他喃喃自语。

这个烦恼不止小明一个人有。随着数据量的爆炸式增长,企业的数据架构越发复杂,数据存储分散在各个系统中。如何打通这些数据孤岛,实现统一的数据访问和分析,成为了一个普遍的技术痛点。

[tu]

好消息是,Apache Doris通过Hive Catalog功能早已完美解决了这个问题。它好比是在Doris和Hive之间架起了一座桥梁,让两个系统能够无缝协作。

从Doris 2.1.3版本开始,通过Hive Catalog,Doris不仅能够查询和导入Hive中的数据,还能执行创建表、回写数据等操作,真正实现了湖仓一体的架构设计。

Hive Catalog的核心价值在于它提供了一个统一的数据访问层。对数据开发人员来说,不需要再关心数据具体存储在哪里,只需要通过Doris就能完成所有数据操作。比如,可以直接在Doris中创建Hive表:

CREATE CATALOG hive PROPERTIES (
    'type'='hms',
    'hive.metastore.uris' = 'thrift://172.21.16.47:7004'
);

设置完成后,就能像操作普通Doris表一样操作Hive表了。不仅支持查询,还能执行INSERT、CREATE TABLE AS SELECT等写入操作。系统会自动处理分区管理、文件格式转换等复杂细节。

更令人振奋的是,Doris还提供了完善的安全机制。通过集成Kerberos认证和Ranger权限管理,企业不用担心数据安全问题。可以精确控制到列级别的访问权限,保证数据访问的合规性。

现在,小明终于露出了笑容。有了Hive Catalog,他每天的工作效率提升了不少。跨系统的数据分析变得如此简单,就像在操作同一个系统一样流畅。

这仅仅是开始,下文我们将探讨Hive Catalog更多强大的特性。一起来瞅瞅Doris+Hive数据湖仓一体化的新篇章!

Doris-Hive Catalog核心特性

小明最近又遇到了新的挑战。公司的数据分析场景越来越复杂,既有传统的HDFS存储,又引入了对象存储。

如何让Doris优雅地处理这些不同的存储媒介?让我们深入浅出Doris Hive Catalog的强大功能。

[tu]

多样化的存储支持

每个存储系统都有其特色。HDFS+Hive适合历史全量大规模离线数据处理,对象存储则具有高可扩展性和低成本优势…

But,Hive Catalog提供了统一的访问接口,屏蔽了底层存储的差异:

-- 连接S3
CREATE CATALOG hive_s3 PROPERTIES (
    "type"="hms",
    "hive.metastore.uris" = "thrift://172.0.0.1:9083",
    "s3.endpoint" = "s3.us-east-1.amazonaws.com",
    "s3.region" = "us-east-1",
    "s3.access_key" = "ak",
    "s3.secret_key" = "sk",
    "use_path_style" = "true"
);
-- 可选属性:
-- s3.connection.maximum:S3 最大连接数,默认 50
-- s3.connection.request.timeout:S3 请求超时时间,默认 3000ms
-- s3.connection.timeout:S3 连接超时时间,默认 1000ms

-- 连接OSS
CREATE CATALOG hive_oss PROPERTIES (
    "type"="hms",
    "hive.metastore.uris" = "thrift://172.0.0.1:9083",
    "oss.endpoint" = "oss.oss-cn-beijing.aliyuncs.com",
    "oss.access_key" = "ak",
    "oss.secret_key" = "sk"
);

...

智能的元数据管理

Doris采用智能的元数据缓存机制,在保证数据一致性的同时提供高性能查询:

本地缓存策略

Doris会在本地缓存表的元数据信息,减少对HMS的访问频率。当缓存数量超过阈值后,会使用 LRU(Least-Recent-Used)策略移除部分缓存。

智能刷新

[Notification Event 图]

通过订阅HMS的Notification Event,Doris能及时感知元数据变更。例如可以在创建 Catalog 时,设置该 Catalog 的定时刷新:

CREATE CATALOG hive PROPERTIES (
    'type'='hms',
    'hive.metastore.uris' = 'thrift://172.0.0.1:9083',
    'metadata_refresh_interval_sec' = '3600'
);

也可以按需手动刷新:

-- 刷新指定 Catalog。
REFRESH CATALOG ctl1 PROPERTIES("invalid_cache" = "true");

-- 刷新指定 Database。
REFRESH DATABASE [ctl.]db1 PROPERTIES("invalid_cache" = "true");

-- 刷新指定 Table。
REFRESH TABLE [ctl.][db.]tbl1;

企业级安全特性

安全永远是企业数据管理的重中之重。Hive Catalog同时也提供了完整的安全解决方案:

Ranger权限控制

Apache Ranger 是一个用来在 Hadoop 平台上进行监控,启用服务,以及全方位数据安全访问管理的安全框架。

Doris 支持为指定的 External Hive Catalog 使用 Apache Ranger 进行鉴权。

目前支持 Ranger 的库、表、列的鉴权,暂不支持加密、行权限、Data Mask 等功能。

只需要配置下FE所有环境,再创建 Catalog 时增加即可:

-- access_controller.properties.ranger.service.name 指的是 service 的类型
-- 例如 hive,hdfs 等。并不是配置文件中 ranger.plugin.hive.service.name 的值。
"access_controller.properties.ranger.service.name" = "hive",
"access_controller.class" = "org.apache.doris.catalog.authorizer.ranger.hive.RangerHiveAccessControllerFactory",

Kerberos认证

除了可以集成Ranger,Doris Hive Catalog也支持与企业现有的Kerberos认证体系无缝集成。例如:

CREATE CATALOG hive_krb PROPERTIES (
    'type'='hms',
    'hive.metastore.uris' = 'thrift://172.0.0.1:9083',
    'hive.metastore.sasl.enabled' = 'true',
    'hive.metastore.kerberos.principal' = 'your-hms-principal',
    'hadoop.security.authentication' = 'kerberos',
    'hadoop.kerberos.keytab' = '/your-keytab-filepath/your.keytab',   
    'hadoop.kerberos.principal' = 'your-principal@YOUR.COM',
    'yarn.resourcemanager.principal' = 'your-rm-principal'
);

小明现在可以根据不同的业务需求,灵活选择存储方式和安全模式,真正实现了Doris+Hive数据的统一管理和高效分析。

数据湖和数据仓库的边界正在模糊,Doris通过Hive Catalog架起了连接两个世界的桥梁。随着技术的不断演进,我们期待看到更多创新的应用场景。

下期,我们将一起探讨其它更有趣有用有价值的内容,敬请期待!

标签:--,hive,Catalog,感拉满,Hive,数据,Doris
From: https://blog.csdn.net/yzData/article/details/144406606

相关文章

  • 老板既要又要还要......我用Doris+Hudi把不可能变成了日常
    老板既要又要还要......我用Doris+Hudi把不可能变成了日常探索Doris与Hudi的完美融合智能查询优化华丽转身-不止于快的进化Doris+Hudi湖仓一体的"艺术之美"大数据江湖中流传着这样一个传说:有一位数据科学家,整日为查询性能发愁,夜夜加班优化SQL。直到有一天,他发现了D......
  • 大数据新视界 -- Hive 数据倾斜问题剖析与解决方案(2 - 16 - 5)
           ......
  • Hive分层数据处理:从ODS到ADS的实现与应用
    在大数据开发中,数据分层处理是常见的架构设计模式,尤其在数据仓库建设中,分层架构便于数据组织和管理,提升开发效率。本文将以Hive为例,详细介绍ODS、DWD、DWS、ADS层的设计与实现。一、数据分层的意义解耦数据流:分层将原始数据、清洗数据、分析数据、应用数据分开,避免耦合......
  • 大数据新视界 -- Hive 数据仓库设计模式:星型与雪花型架构(2 - 16 - 3)
           ......
  • Hive高级查询
    Hive高级查询更多大数据资源持续更新中。。。一、UDTF之explode函数1、explode语法功能对于UDTF表生成函数,很多人难以理解什么叫做输入一行,输出多行。为什么叫做表生成?能够产生表吗?下面我们就来学习Hive当做内置的一个非常著名的UDTF函数,名字叫做explode函数,中文戏称之......
  • spark将数据输出到hive或mysql中
    hive启动以下服务:start-dfs.shstart-yarn.shmapred--daemonstarthistoryserver/opt/installs/spark/sbin/start-history-server.shhive-server-manager.shstartmetastoreimportosfrompyspark.sqlimportSparkSession"""-----------------------......
  • 第4章 Doris数据库与表设计-四种Doris索引的详细使用
    4.4.1表索引概述从加速的查询和原理来看,ApacheDoris的索引分为点查索引和跳数索引两大类。(1)点查索引:常用于加速点查,原理是通过索引定位到满足WHERE条件的有哪些行,直接读取那些行。点查索引在满足条件的行比较少时效果很好。ApacheDoris的点查索引包括前缀索引和倒排......
  • 第3章 连接Doris数据库的四种方式
    ApacheDoris采用MySQL网络连接协议,兼容MySQL生态的命令行工具、JDBC/ODBC和各种可视化工具。同时ApacheDoris也内置了一个简单的WebUI,方便使用。下面分别介绍如何通过MySQLClient、MySQLJDBCConnector、Navicat和Doris内置的WebUI来连接Doris。3.1M......
  • spark读取hive和mysql的数据
    读取hive数据本质上:SparkSQL访问了Metastore服务获取了Hive元数据,基于元数据提供的地址进行计算启动以下服务:start-dfs.shstart-yarn.shmapred--daemonstarthistoryserver/opt/installs/spark/sbin/start-history-server.shhive-server-manager.shstartmetastore......
  • node.js毕设基于hive线上问诊系统数据仓库 论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于线上问诊系统数据仓库的研究,现有研究主要集中在系统的功能实现、用户体验优化等方面。专门针对基于hive构建线上问诊系统数据仓库的研究较少。在国......