当前位置:   article > 正文

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

dbeaver

一、DBeaver连接hive

1. 启动hive

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

  • 1
  • 2
  • 3
  • 4
  • 5

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
);
  • 1
  • 2
  • 3
  • 4
  • 5

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;
  • 1
  • 2

在这里插入图片描述

2.去重

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

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

在这里插入图片描述

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');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 修改后
INSERT INTO zxy (id,name,testtime) VALUES
	 (1,'zxy','2023-03-10'),
	 (2,'zxy','2023-03-11');
  • 1
  • 2
  • 3

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:转义字符

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

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/875252
推荐阅读
相关标签
  

闽ICP备14008679号