《工具箱-DBeaver》DBeaver实用功能记录

一、DBeaver连接hive

1. 启动hive

[root@zxy_master conf]# hive --service metastore &
[1] 6887
[root@zxy_master conf]# hive --service hiveserver2 &
[2] 7067

2.配置Dbeaver连接

2.1.选择Apache Hive连接方式

在这里插入图片描述

2.2.配置IP、端口、用户名和密码

在这里插入图片描述

2.3.编辑驱动设置

默认状态下是通过官网下载jar包,但是这种方式可能会下载失败
可以从hive的lib目录将这个jar包拉取下来
hive的lib目录下,有hive-jdbc-1.2.1.jar 和 hive-jdbc-1.2.1-standalone.jar两个jar包,看有的博客说加standalone的jar包比较纯净,所以我这里也选择使用这个
在这里插入图片描述

2.4.测试连接失败

这里测试连接失败,返回
Unexpected driver error occurred while connecting to the database
org/apache/hadoop/conf/Configuration
org/apache/hadoop/conf/Configuration
org.apache.hadoop.conf.Configuration
org.apache.hadoop.conf.Configuration

在这里插入图片描述

2.5.添加hadoop-core-1.2.1.jar

根据报错返回记录和查阅文档,我尝试添加hadoop-core-1.2.1.jar
在这里插入图片描述

2.6.测试连接成功

在这里插入图片描述

2.7.测试建表

在这里插入图片描述

3.测试连接失败问题

可能连接失败的问题跟这个不一样,那么可能就是需要其他的jar包
可以去hive的lib目录下找到,如果缺少某一jar包,找资源下载即可
在这里插入图片描述

二、DBeaver线下数据导入数据库表

1.建表

create table java_etl_data(
tablename varchar(25) null,
field varchar(25) null,
remark varchar(255) null
);

2.导入

2.1 导入数据

在这里插入图片描述

2.2 导入类型

在这里插入图片描述

2.3 导入配置

txt类型导入数据,字段分隔符选择\t,是因为我们在导出数据的时候就是根据\t分割数据。

在这里插入图片描述

我这里导出的数据的编码格式就是utf-8,文件编码类型应该与DBeaver导入数据时的Encoding一致。如果不一致,可通过NotePad++调整编码类型。

在这里插入图片描述

2.4 数据预览

在这里插入图片描述

2.5 数据导入

如果在2.3中查看数据没有问题的话,则点下一步,直到这里完成即可。

在这里插入图片描述

3.查看

到这里数据就已经导入成功了,如果表中有无意义的字段,通过SQL清理即可。

在这里插入图片描述

三、Dbeaver高级复制功能解决"少量数据完全重复"

1.问题对照

在数据处理中,是否会遇到如下情况,没有主键,数据完全一致

下面采用SQL去重方法,以及通过Dbeaver的高级复制功能实现删除重复数据

select *
from zxy;

在这里插入图片描述

2.去重

通过SQL去重语句,排查出重复数据数据

select id,name,testtime
from zxy
group by id,name,testtime 
having count(*) > 1;

在这里插入图片描述

3.Dbeaver高级复制

点小方框处,待选中所有数据后

单击鼠标右键,弹出选择框

鼠标移动至高级复制处,再选择右边Copy as SQL

在这里插入图片描述

INSERT INTO `select id,name,testtime 
from zxy
group by id,name,testtime 
having count(*) > 1` (id,name,testtime) VALUES
	 (1,'zxy','2023-03-10'),
	 (2,'zxy','2023-03-11');

4.删除重复数据

delete from zxy 
where id in (
	select id 
	from (
		select id,name,testtime
		from zxy
		group by id,name,testtime 
		having count(*) > 1
	) t
)

5.恢复数据

因为在Copy as SQL时,查询的数据结果是根据SQL去重语句查出的,所以在生成插入语句的时候,还是往这个SQL去重语句中插入,这明细是不对的,所以将这部分修改为表名即可。

  • 修改前
INSERT INTO `select id,name,testtime 
from zxy
group by id,name,testtime 
having count(*) > 1` (id,name,testtime) VALUES
	 (1,'zxy','2023-03-10'),
	 (2,'zxy','2023-03-11');
  • 修改后
INSERT INTO zxy (id,name,testtime) VALUES
	 (1,'zxy','2023-03-10'),
	 (2,'zxy','2023-03-11');

6.查看数据

  • 可以看到已经是去重后的数据

在这里插入图片描述

  • 查询重复语句已经查询不到

在这里插入图片描述

四、Dbeaver数据导入"CSV格式"、"Txt格式"导入配置

使用CSV、Txt导入的时候,数据格式不同,在导入数据的时候,要根据数据编码样式设置不同的配置。

在这里插入图片描述

1.Txt格式导入

1.1 数据格式

数据格式为:utf8

字段间是tab空格

在这里插入图片描述

1.2 导入配置

  • Encoding:数据编码

    根据数据类型设置为utf-8

  • Column delimiter:字段分隔符

    字段间使用tab空格,所以字段分隔符可以使用\t

  • Quote char:引用符

    没有特别需要注意,保证与Column delimiter、Escape char不同即可

  • Escape char:转义字符

    没有特别需要注意,保证与Column delimiter、Quote char不同即可

在这里插入图片描述

2.CSV格式导入

2.1 数据格式

数据格式为:gbk

字段间是,分割

特别需要注意的是字段名处有双引号,需要特殊处理

在这里插入图片描述

2.2 导入配置

  • Encoding:数据编码

    根据数据类型设置为gbk

  • Column delimiter:字段分隔符

    字段间使用,分割

  • Quote char:引用符

    没有特别需要注意,保证与Column delimiter、Escape char不同即可

  • Escape char:转义字符

    使用"作为转义字符,特殊处理数据字段处的双引号

在这里插入图片描述

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DATA数据猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值