flink sqlClient提交hiveIceberg

flink sqlClient提交hiveIceberg

  • 环境准备
  • sqlclient启动前准备
  • 启动sqlclient
  • init.sql
  • insert.sql

环境准备

组件名版本
flink客户端1.14.4-2.12
hadoop集群3.1.4
hive客户端3.1.2
icebergiceberg-flink-runtime-1.14-0.13.2.jar
iceberg-hive依赖iceberg-hive-runtime-0.13.2.jar

sqlclient启动前准备

sqlclient启动有两种方式,per-job、session。
session模式需先启动一个session,启动方式如下:

/home/hadoop/flink/bin/yarn-session.sh \
-t /home/hadoop/flink/sqlplugins \
-s 2 -jm 5120 -tm 5120 -qu default -nm iceberg_test1 -d

per-job模式需在flink客户端的flink-conf.yaml文件中添加如下参数:
execution.target: yarn-per-job
注意:

flink-conf.yaml文件中还设置了其他内容如下
classloader.resolve-order: parent-firstclassloader.check-leaked-classloader: false#kerberos相关配置
security.kerberos.login.use-ticket-cache: true
security.kerberos.login.keytab: /bigdata/apps/test/core.keytab
security.kerberos.login.principal: hadoop
security.kerberos.login.contexts: Client

启动sqlclient

-- yarn session模式
/home/hadoop/flink/bin/sql-client.sh  embedded \
-s appId \
-l /home/hadoop/flink/sqlplugins \
-i /home/hadoop/flink/script/init.sql \
-f /home/hadoop/flink/script/insert.sql \
shell-- yarn per-job模式
/home/hadoop/flink/bin/sql-client.sh  embedded \
-l /home/hadoop/flink/sqlplugins \
-i /home/hadoop/flink/script/init.sql \
-f /home/hadoop/flink/script/insert.sql \
shell

init.sql

set 'sql-client.verbose'='true';
SET 'execution.checkpointing.interval' = '60s';CREATE CATALOG ice_catalog WITH ('type' = 'iceberg','catalog-type' = 'hive','uri' = 'thrift://hdp02.bonc.com:9083','warehouse' = 'hdfs://beh001/tmp/','hive-conf-dir' = '/home/hadoop/flink/confdir','hadoop-conf-dir' = '/home/hadoop/flink/confdir'
);CREATE DATABASE IF NOT EXISTS ice_catalog.ice_db;CREATE TABLE IF NOT EXISTS ice_catalog.ice_db.ice_tb (deal_date string,chnl_id string,chnl_name string,region_code string,city_code string,chnl_third_class string,chnl_second_class string,chnl_first_class string,chnl_area_class string,chnl_eff_flag string,oper_id string,oper_name string,self_term_code string,air_term_code string,oper_eff_flag string,item_cls_type string,item_cls_desc string,item_grp_type string,item_grp_desc string,user_chnl_id string,user_chnl_name string,user_region_code string,user_city_code string,item_value1 decimal(14,2),item_value2 decimal(14,2),PRIMARY KEY (chnl_id ,oper_id) NOT ENFORCED
) WITH ('write.upsert.enabled' = 'true','write.metadata.previous-versions-max' = '10','write.metadata.delete-after-commit.enabled' = 'true','commit.manifest.min-count-to-merge' = '1','engine.hive.enabled' = 'true','table.dynamic-table-options.enabled' = 'true','format-version' = '2'
);CREATE TABLE csvSource (deal_date string COMMENT '处理日期',               chnl_id string COMMENT '渠道ID',                 chnl_name string COMMENT '渠道名称',               region_code string COMMENT '归属地市代码',           city_code string COMMENT '归属区县代码',             chnl_third_class string COMMENT '渠道三级类型',      chnl_second_class string COMMENT '渠道二级类型',     chnl_first_class string COMMENT '渠道一级类型',      chnl_area_class string COMMENT '渠道地域属性',       chnl_eff_flag string COMMENT '渠道有效标志',         oper_id string COMMENT '工号ID',                 oper_name string COMMENT '工号姓名',               self_term_code string COMMENT '自助终端标志',        air_term_code string COMMENT '空中充值标志',         oper_eff_flag string COMMENT '工号有效标志',         item_cls_type string COMMENT '指标大类代码',         item_cls_desc string COMMENT '指标大类名称',         item_grp_type string COMMENT '指标细项代码',         item_grp_desc string COMMENT '指标细项名称',         user_chnl_id string COMMENT '用户渠道ID',          user_chnl_name string COMMENT '用户渠道名称',        user_region_code string COMMENT '用户归属地市代码',    user_city_code string COMMENT '用户归属区县代码',      item_value1 decimal(14,2) COMMENT '指标值1',      item_value2 decimal(14,2) COMMENT '指标值2'
) WITH ('connector' = 'filesystem','path' = 'hdfs://beh001/tmp/originData/csvSource.txt','format' = 'csv','csv.field-delimiter' = ','
);

insert.sql

insert intoice_catalog.ice_db.ice_tb
selectdeal_date  ,               chnl_id  ,                 chnl_name  ,               region_code  ,           city_code  ,             chnl_third_class  ,      chnl_second_class  ,     chnl_first_class  ,      chnl_area_class  ,       chnl_eff_flag  ,         oper_id  ,                 oper_name  ,               self_term_code  ,        air_term_code  ,         oper_eff_flag  ,         item_cls_type  ,         item_cls_desc  ,         item_grp_type  ,         item_grp_desc  ,         user_chnl_id  ,          user_chnl_name  ,        user_region_code  ,    user_city_code  ,      item_value1,      item_value2
fromcsvSource;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/158505.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android笔记 SELinux

1.SELinux解错步骤 log信息: 11-20 02:25:12.526 8976 8976 W om.jzzh.setting: type1400 audit(0.0:1316): avc: denied { write } for name"com.jzzh.setting-IWLR9dkz8TWizbNujdTpWw" dev"mmcblk2p15" ino2661 scontextu:r:system_app:s0…

深兰科技多款大模型技术产品登上新闻联播!

11月20日晚,新闻联播报道了2023中国5G工业互联网大会,深兰科技metamind、汉境大型城市智能体空间等大模型技术和产品在众多参展产品中脱颖而出,被重点播报。 2023中国5G工业互联网大会 本届大会由工信部和湖北省人民政府联合主办,…

Haproxy搭建 Web 群集

一、常见的web集群调度器 1.目前常见的web集群调度器分为软件和硬件 2.软件通常使用开源的LVS、Haproxy、Nginx 3.硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼、绿盟等 二、Haproxy应用分析 1.LVS在企业应用中抗负载能力很强&am…

【shell】shell指令学习

仅供本人自学,完全从自己可以理解的角度写的,知识点都是copy网上已有的学习资料,侵权请联系本人删除,谢谢。 1. 文本资料学习 学习Linux,从掌握grep、sed、awk开始吧。 Linux文本三剑客超详细教程—grep、sed、awk …

kafka操作的一些坑

1.如果Offset Explorer能够检测到kafka中的数据,但是自己的kafka无法读取到,此时是因为kafka读取信息是有有效期的,有效期为七天的时间 2.如果一直报错Attempt to heart beat failed since the group is rebalancing,此时需要修改…

【LeetCode刷题笔记】DFSBFS(一)

51. N 皇后 解题思路: DFS + 回溯 :由于 NxN 个格子放 N 个皇后, 同一行不能放置 2 个皇后,所以皇后必然放置在不同行 。 因此,可以从第 0 行开始,逐行地尝试,在每一个 i

linux输出的重定向无效问题和解决

我们在调试程序或者打印日志时经常会遇到重定向的问题,而有时候会遇到重定向无效的问题,下面给一个简单的例子,首先写一个简单的test.c #include <stdio.h>int main(){fprintf(stdout, "hello\n");fprintf(stderr, "world\n");return 0; }编译生…

P9232 [蓝桥杯 2023 省 A] 更小的数(区间DP)

求大数字某连续部分反转后&#xff0c;比原数字小的个数 思路&#xff1a;自前向后遍历 ai是位于数字第i位的数字 aj是位于数字第j位的数字&#xff08;i<j&#xff09; ai>aj f[ai][aj]1; ai<aj f[ai][aj]0; aiaj f[ai][aj]f…

Android11 桌面默认横屏导致任务键近期任务布局UI显示错误!

/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java 定义变量&#xff1a;private boolean stch false; keyCode KeyEvent.KEYCODE_APP_SWITCH 取消原来逻辑&#xff0c;采用广播打开近期任务后台 /*/ if (!keyguardOn…

Go语法的特殊之处

上文我们讲了GO模块引入指令Go Mod&#xff0c;本文讲述Go语法的特殊之处 : 单变量 : hello:“hello” Go 语言中新增了一个特殊的运算符:&#xff0c;这个运算符可以使变量在不声明的情况下直接被赋值使用。其使用方法和带值声明变量类似&#xff0c;只是少了var关键字&…

linux常用命令总结(通俗易懂,快速记忆版)

文章目录 ls命令echo命令cd命令head命令tail命令ps命令cp命令rm命令mkdir命令rmdir命令查看文件内容命令其他常用命令 ls命令 ls 是list的缩写list的中文是列表的意思 ls就是列出指定位置的文件夹和文件 可用参数 &#xff1a; -a, -l, -h , -R, -Q 参数含义及作用-a-a (a是…

mybatis报nvalid bound statement (not found)或者找不到xml文件

查看yml文件是否添加mybatis配置 mybatis-plus:# Mapper.xml 文件位置 Maven 多模块项目的扫描路径需以 classpath*: 开头# 实现接口绑定mapperLocations: classpath*:mybatis/xml/*Mapper.xmlclasspath*: 开头

Javaweb实现数据库简单的增删改查

JDBC介绍 JDBC &#xff08; Java Data Base Connectivity &#xff09; 是一 种 Java 访问 数据库 的技术&#xff0c;它提供 执行 SQL 语句的 Java API &#xff0c;由 一组 类 和接口组成&#xff0c;可以为 不同的 数据库提供统一访问 JDBC工作原理 JDBC应用编程 1、准备…

PMP考试

一、关于准考信下载 为确保您顺利进入考场参加xxx月份考试&#xff0c;请及时登录本网站个人系统下载并打印准考信&#xff0c;准考信下载时间为xxx-xxx。如通过以上方式无法查找准考信&#xff0c;请您及时拨打所在考点老师联系电话&#xff0c;如有特殊问题&#xff0c;请发…

1143. 最长公共子序列

给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;也可以…

限时开发、码力全开、2w奖金!AGI Hackathon等你挑战!

AGI时代&#xff0c;我们已不再满足于简单的产品开发&#xff0c;与大模型结合的无限想象力&#xff0c;成为开发者们新的追求。 你有能力将想法转化为现实吗&#xff1f;你有勇气接受挑战&#xff0c;创造全新的AI应用吗&#xff1f; 如果你有热情&#xff0c;有信心&#x…

老知识复盘-SQL从提交到执行到底经历了什么 | 京东云技术团队

一、什么是SQL sql(Structured Query Language: 结构化查询语言)是高级的费过程化编程语言,允许用户在高层数据结构上工作, 是一种数据查询和程序设计语言, 也是(ANSI)的一项标准的计算机语言. but… 目前仍然存在着许多不同版本的sql语言,为了与ANSI标准相兼容, 它们必须以相…

迪杰斯特拉算法(C++)

目录 介绍&#xff1a; 代码&#xff1a; 结果&#xff1a; 介绍&#xff1a; 迪杰斯特拉算法&#xff08;Dijkstras algorithm&#xff09;是一种用于计算加权图的单点最短路径的算法。它是由荷兰计算机科学家Edsger W. Dijkstra在1956年发明的。 该算法的思路是&#xf…

振南技术干货集:制冷设备大型IoT监测项目研发纪实(4)

注解目录 1.制冷设备的监测迫在眉睫 1.1 冷食的利润贡献 1.2 冷设监测系统的困难 &#xff08;制冷设备对于便利店为何如何重要&#xff1f;了解一下你所不知道的便利店和新零售行业。关于电力线载波通信的论战。&#xff09; 2、电路设计 2.1 防护电路 2.1.1 强电防护 …

11月22日星期三今日早报简报微语报早读

11月22日星期三&#xff0c;农历十月初十&#xff0c;早报微语早读。 1、我国自主研发气象无人艇实现首次海上云雾立体观测。 2、国家统计局与国家医疗保障局签署数据共享利用合作协议。 3、三部门&#xff1a;加强全国重点文物保护单位内古树名木保护。 4、油价4连降&#xf…