Hive数据库和表创建,数据导入,数据查询
一:数据库创建
创建命令:
hive> CREATE DATABASE IF NOT EXISTS higeo;
二:表创建
样例如下:
# @DESC hive内表, 创建IP库分段详细内容表
hive>
# @DESC hive内表, 创建IP省份城市映射表
CREATE TABLE IF NOT EXISTS higeo.t_dw_ip_position_statistic_day
(
logip2long BIGINT COMMENT 'long型IP'
,countries STRING COMMENT '国家信息'
,provinces STRING COMMENT '省份信息'
,cities STRING COMMENT '城市信息'
,districts STRING COMMENT '区县信息'
,clusters STRING COMMENT '聚类结果geohash'
,noise STRING COMMENT '噪声数据geohash'
,center STRING COMMENT '类中心经纬度'
,distancequantile STRING COMMENT 'CEP类指标'
)
PARTITIONED BY(pt_d STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
LINES TERMINATED BY '\n'
;
三:新分区创建

四:结构化文件导入

使用到的结构化文件样例如下:

五:HDFS中的某路径分区下的文件与hive关联
关联命令如下:
hive> alter table higeo.t_dw_ip_position_statistic_day add partition (pt_d='20201210') location 'hdfs://localhost:9000/user/hive/warehouse/higeo.db/t_dw_ip_position_statistic_day/pt_d=20201210';
六:在hive中执行查询命令
hive> use higeo; // use 数据库名
hive> select * from t_dw_ip_position_statistic_day limit 10;
查询结果如下:

FAQ:
1、cmd查询出现乱码:
解决方案:https://www.cnblogs.com/zoneofmine/p/10855468.html
2、新分区创建没有权限:
解决方案:在hadoop安装的路径下,赋予hdfs中此路径的权限
D:\doc\localBigDataEnv\jar\hadoop-2.9.2\bin>hdfs dfs -chmod -R 777 /user/hive/warehouse/higeo.db/t_dw_ip_position_statistic_day;

浙公网安备 33010602011771号