spark-sql建表数据同步到hive

ops/2024/10/18 19:24:00/

1、基础环境

组件版本备注
hadoop3.4.0官方下载
hive3.1.3自编译
sparkspark-3.5.3-bin-hadoop3官方下载,需要内置hive的jar相关内容
paimon0.9.0Maven官方下载
jdk1.8.0_41
maven3.9.6固定版本

2、停止服务、清理日志

先停止,清理数据

sudo kill -9 $(ps -ef|grep hadoop|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
sudo kill -9 $(ps -ef|grep spark|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
sudo kill -9 $(ps -ef|grep hive|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
sudo kill -9 $(ps -ef|grep hive|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
sudo kill -9 $(ps -ef|grep flink|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
sudo kill -9 $(ps -ef|grep topsa|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
sudo kill -9 $(ps -ef|grep topsec|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
rm -rf /cluster/hadoop3/logs/*
rm -rf /cluster/hadoop3/logs/*
rm -rf /cluster/spark/logs/*
rm -rf /cluster/hive/logs/*
rm -rf /cluster/*.log
rm -rf /cluster/hadoop3/data/*
rm -rf /tmp/*

3、格式化Hadoop并启动 

/cluster/hadoop3/bin/hdfs namenode -format
/cluster/hadoop3/sbin/start-all.sh

4、启动spark 

/cluster/spark/sbin/start-all.sh

5、启动Hive服务 

nohup /cluster/hive/bin/hivemetastore2 > 2a.log &
nohup /cluster/hive/bin/hiveserver2 > 2b.log &

 6、Hdfs上创建存储目录

/cluster/hadoop3/bin/hdfs dfs -mkdir -p /spark-eventLog
/cluster/hadoop3/bin/hdfs dfs -mkdir -p /paimon/warehouse/example

7、启动spark-sql 

/cluster/spark/bin/spark-sql --jars /cluster/lib/paimon-spark-3.5-0.9.0.jar --conf spark.sql.catalog.paimon=org.apache.paimon.spark.SparkCatalog --conf spark.sql.catalog.paimon.metastore=hive --conf spark.sql.catalog.paimon.uri=thrift://10.10.10.99:9083 --conf spark.sql.catalog.paimon.warehouse=hdfs://10.10.10.99:8020/paimon/warehouse/hive-paimon --conf spark.sql.extensions=org.apache.paimon.spark.extensions.PaimonSparkSessionExtensions --conf spark.serializer=org.apache.spark.serializer.KryoSerializer
 

8、使用paimon创建数据库、数据表

-- 切换到paimon catalog
USE paimon;

-- 在已建立的paimon catalog中,建立数据库。
CREATE DATABASE my_db;
USE my_db;

-- 建立Paimon表。
CREATE TABLE my_table (
    uuid int,
    name string,
    height double,address string
) TBLPROPERTIES (
    'primary-key' = 'uuid'
);

 

9、插入数据

-- 向Paimon中写入数据。
INSERT INTO paimon.my_db.my_table VALUES (1, 'M', 173.5,'北京市朝阳区'), (2, 'G',185, '上海市'), (3, 'cherry', 168.0,'河北省秦皇岛市');
 

 10、在hive中查看数据

/cluster/hive/bin/beeline
!connect jdbc:hive2://10.10.10.99:10000

输入用户名和密码

备注需要将将paimon-hive-connector-3.1-0.9.0.jar上传到hive的lib目录下/cluster/hive/lib

否则,查询执行select的时候会报错。

使用show databases;   show tables 相关命令可以查询数据库和表

 使用select在hive中查询数据

 11、HDFS上查看数据存储

系统进程,通过jps -l查看


http://www.ppmy.cn/ops/122288.html

相关文章

MySQL多表查询:列子查询

先看我的表数据 dept表 emp表 列子查询,也就是多列作为子查询去寻找一些问题 常用操作符:IN, NOT IN, ANY, SOME, ALL 1.查询 "销售部" 和 "市场部" 的所有员工的信息(拆分成以下两个问题) a. 查询"销…

【C/C++】错题记录(五)

题目一 题目二 在 16 位机器上,通常以 2 字节为边界对齐。 首先看 char a,它占用 1 个字节。接着是 int b,占用 2 个字节。由于要满足边界对齐,在 char a后面会填充 1 个字节,使得 int b从 2 字节边界开始存储。最后是…

【CSS/HTML】左侧固定,右侧自适应的布局方式理解margin负值理论

文章目录 一.浮动布局二.margin的负值(3个div)三.calc()计算属性四.flex布局 一.浮动布局 1.先让固定宽度的div浮动!使其脱离文档流。 2.margin-left的值等于固定div的宽度相等。 .aside{float: left;width: 200px;background-color: red;}.content{margin-left: 2…

Golang | Leetcode Golang题解之第446题等差数列划分II-子序列

题目: 题解: func numberOfArithmeticSlices(nums []int) (ans int) {f : make([]map[int]int, len(nums))for i, x : range nums {f[i] map[int]int{}for j, y : range nums[:i] {d : x - ycnt : f[j][d]ans cntf[i][d] cnt 1}}return }

【2024】前端学习笔记12-JavaScript初体验-Js操作window

学习笔记 1.什么是JavaScript2.JavaScript初体验3.案例:弹出一个带确认、取消的对话框4.JS之window对象4.1.window.open:打开新窗口4.2.window.innerWidth/innerHeight:获取浏览器窗口宽度和高度4.3.window.location.reload:重新加载当前页面4.4.window.document:操作文档…

20年408数据结构

第一题: 解析:这种题可以先画个草图分析一下,一下就看出来了。 这里的m(7,2)对应的是这图里的m(2,7),第一列存1个元素,第二列存2个元素,第三列存3个元素,第四列存4个元素,第五列存5个元素&#…

OpenJudge | 置换选择排序

总时间限制: 1000ms 内存限制: 65536kB 描述 给定初始整数顺串,以及大小固定并且初始元素已知的二叉最小堆(为完全二叉树或类似完全二叉树,且父元素键值总小于等于任何一个子结点的键值),要求利用堆实现置换选择排序&a…

2024四非保研回忆录(天大、华师、东南、华科)

前六学期个人基本情况 学校:山东四非专业:网络空间安全绩点排名:1/39竞赛:icpc区域银、邀请铜,ccpc邀请银以及一些其他算法竞赛的国奖 (臭打acm的是这样)科研:0(没有实打实的参与过科研,但上课…