20-学习笔记尚硅谷数仓搭建-数据仓库开发环境搭建-hive连接DataGrip

目录

备注:没有特别说明就在atguigu用户执行命令

一、连接工具下载(因为最新版的datagrip支持非商用免费,所以不用去找激活码了)

二、启动服务

三、创建项目,连接hive

四、新建数据库

五、常见datagrip错误

六、重启服务


备注:没有特别说明就在atguigu用户执行命令

一、连接工具下载(因为最新版的datagrip支持非商用免费,所以不用去找激活码了)

1.在下面的官网下载最新版2025.3.4

下载 DataGrip:适用于数据库和 SQL 的跨平台 IDE

可以看到对非商业用途免费

2.双击安装包,后选择安装目录(尽量全英文)

3.创建快捷方式

4.默认即可

5.勾选运行

6.打开后点击设置,选择管理许可证

7.选择非商业使用,并勾选条款

8.如果没有账户可能会先让你登录注册(我已经有了)

登录成功后,开始使用,可以看到有一年免费使用,后续到期了,重来一遍许可操作就行

二、启动服务

1.启动HDFS(在hadoop102执行下面命令)

复制代码
hdp.sh start

2.启动HiveServer2(在hadoop102执行下面命令)

复制代码
cd /opt/moduel/hive
hiveserver2

三、创建项目,连接hive

1.选择新建项目,选择路径(随便)最后的是项目名称

2.进入项目后点击"+"选择数据源,选择apache hive

3.连接配置

4.下载驱动

等待下载完成后,自定义jar

找到安装的驱动路径。会自动跳到hive目录

打开hive,打开3.1.2

选择jar包

5.测试连接,返回数据源,点击gmall,选择下面的测试连接,成功后会打勾,连接成功后应用并确定

6.查看,数据是我们前面插入过的数据

四、新建数据库

1.新建查询控制台

2.输入下面sql,选中并运行,新建一个gmall数据库

五、常见datagrip错误

1.DataGrip 中注释乱码问题

打开navicat,新建如下查询

sql 复制代码
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE mediumtext character set utf8;

如图选中后运行

2.hive服务器报错如下,只要是看到show 、 index、下面框选中报的错就不用管,

原因:早期版本的 Hive 有索引功能,当前版本已移除, DataGrip 刷新连接时会扫描索引,而 Hive 没有,就会报错。

上述问题是DataGrip导致的,并非Hive环境的问题,不影响使用。

ctrl + c先停止hiveserver2服务后执行下面两个错误修改

3.如果hiveserver2后台频繁出现OutOfMemoryError,就按照下面方法提高内存

停止服务后输入在虚拟机输入下面命令(在hadoop102执行下面命令)

sql 复制代码
cd $HIVE_HOME/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh

在最后添加下面的内容:

sql 复制代码
export HADOOP_HEAPSIZE=2048

如果以后还出现OutOfMemoryError的错误就把这个值改的更大些就行(这里是2个G)

4.DataGrip ODS层部分表字段显示异常

建表字段中有如下语句的表字段无法显示。

ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.JsonSerDe'

上述语句指定了Hive表的序列化器和反序列化器SERDE(serialization 和 deserialization的合并缩写),用于解析 JSON 格式的文件。上述 SERDE 是由第三方提供的,在hive-site.xml中添加如下配置即可解决。(在hadoop102执行下面命令)

sql 复制代码
cd $HIVE_HOME/conf
vim hive-site.xml

添加下面内容:

<property>

<name>metastore.storage.schema.reader.impl</name>

<value>org.apache.hadoop.hive.metastore.SerDeStorageSchemaReader</value>

</property>

添加后完整代码

sql 复制代码
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!--配置Hive保存元数据信息所需的 MySQL URL地址-->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;allowPublicKeyRetrieval=true</value>
    </property>

    <!--配置Hive连接MySQL的驱动全类名-->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>

    <!--配置Hive连接MySQL的用户名 -->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>

    <!--配置Hive连接MySQL的密码 -->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>000000</value>
    </property>

    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>

    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>

    <property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    </property>

    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hadoop102</value>
    </property>

    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
    
    <property>
        <name>hive.cli.print.header</name>
        <value>true</value>
    </property>

    <property>
        <name>hive.cli.print.current.db</name>
        <value>true</value>
    </property>
    <!--Spark依赖位置(注意:端口号8020必须和namenode的端口号一致)-->
<property>
    <name>spark.yarn.jars</name>
    <value>hdfs://hadoop102:8020/spark-jars/*</value>
</property>
  
<!--Hive执行引擎-->
<property>
    <name>hive.execution.engine</name>
    <value>spark</value>
</property>
<!--DataGrip ODS层部分表字段显示异常-->
<property>
	<name>metastore.storage.schema.reader.impl</name>
	<value>org.apache.hadoop.hive.metastore.SerDeStorageSchemaReader</value>
</property>
</configuration>

六、重启服务

输入下面命令重启服务(在hadoop102执行下面命令)

sql 复制代码
cd /opt/module/hive

hiveserver2

去看datagrip测试连接(避免误操作删除了一些文件导致不能连接)

相关推荐
QZ_orz_freedom2 小时前
后端学习笔记-WebSocket
笔记·学习
近津薪荼2 小时前
优选算法——双指针专题3(快慢双指针)
c++·学习·算法
神奇的代码在哪里2 小时前
跟着官方教程学习鸿蒙ArkTS语言:6大核心知识点深度解读与实践指南
学习·华为·typescript·harmonyos·arkts
【赫兹威客】浩哥2 小时前
【赫兹威客】完全分布式Hive(on Spark)测试教程
hive·分布式·spark
Gain_chance4 小时前
19-学习笔记尚硅谷数仓搭建-数据仓库运行环境搭建(spark安装及配置)
数据仓库·笔记·学习·spark
Gain_chance4 小时前
21-学习笔记尚硅谷数仓搭建-数据仓库模拟数据生成
数据仓库·笔记·学习
dalong1010 小时前
A6:编写计算器界面程序
笔记·aardio
zilikew11 小时前
Flutter框架跨平台鸿蒙开发——桌面宠物APP的开发流程
学习·flutter·harmonyos·鸿蒙·宠物
Sarvartha13 小时前
LangChain 入门核心知识学习笔记
笔记·学习·langchain