把最近常用到的一些語句做些總結:包括查看庫註釋,註釋中文亂碼的解決,創建帶註釋的表等。
查看庫的註釋
describe database databasename;
hive的註釋(comment)中文亂碼的解決方法
創建表的時候,comment說明字段包含中文,表成功創建成功之後,desc的時候中文說明顯示亂碼.如下圖所示:
我們知道hive的元數據是有mysql管理的,所以這是mysql的元數據的問題.下面我們就修改一下字符編碼
(1)修改表字段註解和表註解
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
(2)修改分區字段註解
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8 ;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
(3)修改索引註解
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
修改hive-site.xml配置文件
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://IP:3306/db_name?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
創建帶註釋的表:
create database if not exists ads;
use ads;
create table if not exists `ads.t_bs_tbname`(
`ds` string comment '購買日期',
`appid` string comment '產品標識',
`uid` string comment '用戶uid',
)
PARTITIONED BY (
`ms` string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t';
desc命令
desc 命令是爲了展示hive表格的內在屬性。例如列名,data_type,存儲位置等信息.這個命令常常用在我們對hive表格觀察之時,我們想要知道這個hive各個列名(基於這些具體列名我們纔可以使用sql語句挑選數據),hive表格的存儲位置(有些時候我們需要查看location信息來判斷這個hive表格是不是我們所需要的那個)
參考博文:https://blog.csdn.net/xianpanjia4616/article/details/90733124