hive执行建表操作报错

来源:1-25 -Hive基本使用

hwbaker

2018-12-04

在hove中执行建表操作报错如下:
图片描述
message:For direct MetaStore DB connections, we don’t support retries at the client level.

驱动.jar包已复制到/home/hadoop/app/hive-1.1.0-cdh5.7.0/lib中。

建表命令:
create table hive_wordcount (context string);

mysql版本,OOTB中自带的mysql:
mysql> status
mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

驱动程序:
ODBC镜像中software中的mysql-connector-java-5.1.27-bin.jar,报上面的错;
自己下载jar包mysql-connector-java-5.1.7-bin.jar,还是报同样的错
还是会报同样的错

写回答

2回答

Michael_PK

2018-12-04

你到/tmp/用户名/hive.log中去看看日志中发生了什么

0
1
hwbaker
看来还是要看log,不能只依赖命令行的数据提示。非常感谢!
2018-12-04
共1条回复

hwbaker

提问者

2018-12-04

cd /tmp/hadoop/

cat hive.log,报错如下:

//img.mukewang.com/szimg/5c063fee0001957d20240856.jpg

网上查了下,mysql的默认字符集是latin1,但是OOTB自带的mysql字符集是utf8,所以会出现hive.log中的报错。

解决方案,重新修改mysql字符集为Latin1:

1、alter database a character set latin1;

2、删除原数据库:drop database sparksql;

3、重新创建数据库 并 将字符集设置为 latin1:create database sparksql character set latin1;

4、重启hive

5、create table hive_wordcount (context string);

6、use sparlsq;

select * from TBLS;

有结果,说明插入正确

2
0

以慕课网日志分析为例 进入大数据Spark SQL的世界

快速转型大数据:Hadoop,Hive,SparkSQL步步为赢

1644 学习 · 1129 问题

查看课程