Hudi系列15:Hudi元数据同步到Hive

这篇具有很好参考价值的文章主要介绍了Hudi系列15:Hudi元数据同步到Hive。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. hive sync tool工具介绍

使用DataSource writer或HoodieDeltaStreamer写入数据支持将表的最新模式同步到Hive metastore,这样查询就可以获得新的列和分区。在这种情况下,最好从命令行或在一个独立的jvm中运行,Hudi提供了一个HiveSyncTool,一旦你构建了Hudi -hive模块,就可以如下所示调用它。以下是我们如何同步上述Datasource Writer写入的表到Hive metastore。

语法:

cd hudi-hive
./run_sync_tool.sh  --jdbc-url jdbc:hive2:\/\/hiveserver:10000 --user hive --pass hive --partitioned-by partition --base-path <basePath> --database default --table <tableName>

二. 问题排查

hudi自身带的 hive sync tool会存在一定的问题,直接运行会报各种各样不同的错误。

修改

vim run_sync_tool.sh
  1. 解决hadoop依赖问题
    注释这两行
    Hudi系列15:Hudi元数据同步到Hive

新增两行
Hudi系列15:Hudi元数据同步到Hive

  1. 解决Parquet冲突
    上传到/home/software目录
wget https://repo.maven.apache.org/maven2/org/apache/parquet/parquet-column/1.12.2/parquet-column-1.12.2.jar

Hudi系列15:Hudi元数据同步到Hive

三. 实操

代码:

cd /home/hudi-0.12.0/hudi-sync/hudi-hive-sync
./run_sync_tool.sh  --jdbc-url jdbc:hive2:\/\/hp5:10000 --base-path hdfs://hp5:8020/tmp/hudi/flink_hudi_mysql_cdc5 --database test --table flink_hudi_mysql_cdc5

运行记录:
Hudi系列15:Hudi元数据同步到Hive

Flink SQL 查看建表语句:

Flink SQL> show create table flink_hudi_mysql_cdc5;
CREATE TABLE `hive_catalog`.`hudidb`.`flink_hudi_mysql_cdc5` (
  `id` BIGINT NOT NULL,
  `name` VARCHAR(100),
  CONSTRAINT `PK_3386` PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
  'write.precombine.field' = 'name',
  'compaction.async.enabled' = 'false',
  'hoodie.datasource.write.recordkey.field' = 'id',
  'path' = 'hdfs://hp5:8020/tmp/hudi/flink_hudi_mysql_cdc5',
  'connector' = 'hudi',
  'changelog.enabled' = 'true',
  'table.type' = 'MERGE_ON_READ'
)

Hive端查看建表语句:
Hudi系列15:Hudi元数据同步到Hive

Hudi系列15:Hudi元数据同步到Hive

MySQL 端持续插入数据:文章来源地址https://www.toymoban.com/news/detail-434432.html

DELIMITER //

CREATE PROCEDURE p5()
BEGIN
  
  declare l_n1 int default 21;
 
  
  while l_n1 <= 10000000 DO  
     insert into mysql_cdc (id,name) values (l_n1,concat('test',l_n1));
     set l_n1 = l_n1 + 1;
  end while;
  

END;
//

DELIMITER ;

参考:

  1. https://hudi.apache.org/docs/0.12.0/syncing_metastore

到了这里,关于Hudi系列15:Hudi元数据同步到Hive的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 任务15:使用Hive进行全国气象数据分析

    任务描述 知识点 : 使用Hive进行数据分析 重  点 : 掌握Hive基本语句 熟练使用Hive对天气数据进行分析 内  容 : 使用Hive创建外部表 使用Hive对数据进行统计分析 任务指导 1. 使用Hive创建基础表 将China_stn_city.csv文件上传到HDFS的/china_stn目录中 启动metastore(后台运行) 进入

    2024年01月16日
    浏览(53)
  • 如何使用 SeaTunnel 同步 MySQL 数据到 Hive

    第一步:环境准备 Java 8 或 11 并配置JAVA_HOME Git  Maven 第二步:下载SeaTunnel并安装连接器 下载地址:https://seatunnel.apache.org/download/ 下载SeaTunnel并安装2.3.0版本 https://www.apache.org/dyn/closer.lua/incubator/seatunnel/2.3.0/apache-seatunnel-incubating-2.3.0-bin.tar.gz 详细的安装过程可以参考:https://s

    2023年04月08日
    浏览(35)
  • Flink Catalog 解读与同步 Hudi 表元数据的最佳实践

    博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧

    2024年02月22日
    浏览(45)
  • 使用Sqoop命令从Oracle同步数据到Hive,修复数据乱码 %0A的问题

    一、创建一张Hive测试表 创建分区字段partition_date,指定分隔符“,” 二、编写Sqoop数据同步命令 我这里使用的是shell脚本的方式: 命令相关属性说明: --connect:连接Oracle数据库的URL,例如jdbc:oracle:thin:@219.216.110.120:1521:orcl。 --username:连接Oracle数据库的用户名,例如TEST1。

    2024年02月04日
    浏览(50)
  • hudi介绍和使用

    Hudi 是什么 Hudi(Hadoop Upserts Deletes and Incrementals缩写):用于管理分布式文件系统DFS上大型分析数据集存储。一言以蔽之,Hudi是一种针对分析型业务的、扫描优化的数据存储抽象,它能够使DFS数据集在分钟级的时延内支持变更,也支持下游系统对这个数据集的增量处理。 Hud

    2024年02月02日
    浏览(29)
  • 大数据Hive(介绍+安装+使用)

            对数据进行统计分析,SOL是目前最为方便的编程工具,但是MapReduce支持程序开发 (Java、Python等)但不支持SQL开发。         Hive是一款 分布式SQL计算的工具 ,其主要功能是 将SQL语句翻译成MapReduce程序 运行。         使用HadoopMapReduce直接处理数据所面临的问

    2024年04月13日
    浏览(29)
  • 数据同步工具—DataX—Web部署使用

    以前了解datax,感觉对易用性不大好,目前发现已经图形配置工具。简单整理一下。 Datax 的使用过程中,我们会发现,不管是利用 java 调用以及 python 命令启动的方式,我们都无法进行任务的管理,并且每次执行任务前,我们 都需要编辑 Json 配置文件,这是比较繁琐的,随着业

    2024年02月05日
    浏览(42)
  • SeaTunnel 海量数据同步工具的使用(连载中……)

    SeaTunnel 是一个非常易用,高性能、支持实时流式和离线批处理的海量数据处理产品,前身是 WaterDrop (中文名:水滴),自 2021年10月12日更名为 SeaTunnel 。2021年12月9日,SeaTunnel 正式通过Apache 软件基金会的投票决议,以全票通过的优秀表现正式成为 Apache 孵化器项目。 2022年

    2024年01月16日
    浏览(37)
  • 【Rust教程 | 基础系列2 | Cargo工具】Cargo介绍及使用

    在编程世界中,工具的选择与使用同样重要,甚至有时候比编程语言本身更为重要。对于Rust来说,Cargo就是这样一款强大的工具。本文将详细介绍Cargo的各项功能,并通过实例演示如何使用这些功能。希望通过本文,读者能够熟练掌握Cargo的使用,从而更好地进行Rust开发。

    2024年02月15日
    浏览(59)
  • Hudi(六)集成Hive

            Hudi源表对应一份HDFS数据,通过Spark,Flink组件或者HudiCLI,可以将Hudi表的数据映射为Hive外部表,基于该外部表,Hive可以方便的进行实时视图,读优化视图以及增量视图的查询。 1、拷贝编译好的jar包 2、配置完后重启hive 1、使用方式         Flink hive sync现在支

    2024年02月07日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包