关于HIVE数据仓库的基本操作

通俗理解数据仓库的运行流程 本文仅为个人观点,适用于我所接触到的大数据平台 一、数据仓库 DW        数据仓库:data warehouse,顾名思义是存放数据的地方。是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。        那么我所接触的产品是如何建立数据仓库的呢?大致分为STAGE层、ODS层、DWD、DWA、D... 阅读详情

[Author]: kwu 

关于HIVE数据仓库的基本操作


1、数据库划分:

default : 默认库,测试库。对应路径 /hdfs/hive/default
stage : 中转库 对应路径 /hdfs/dw/stage
ods :  正式库 对应路径 /hdfs/dw/ods


2、创建表
create EXTERNAL table test_kwu (
dateday string comment "日期:如2015-01-01", 
datetime string comment "时间 : 如 11:30:01:123",
ip string comment "IP:用户本机IP或用户所在网段对外路由IP",
cookieid string comment "用户cookie:统一在用户端生成的唯一标志",
userid string comment "用户和讯注册ID :用户在和讯网的注册ID", 
logserverip string comment "记录日志服务器IP :日志收集服务器IP",
referer string comment "来源 :用户浏览网页的REFER",
requesturl string comment "访问网址 : 当前访问网址",
remark1 string comment "【暂时没用】 :该数据无意义,由于早期加入目前不能去除",
remark2 string comment "【暂时没用】 : 该数据无意义,由于早期加入目前不能去除",
alexaflag string comment "ALEXA标志  :这个字段也是早期加入,当用户安装alexa工具时值为1,否则为0.早期加入,目前来看应该没有任何意义了。",
ua string comment "UA :用户浏览器UA",
wirelessflag string comment "无线频道标志:给无线频道专用的,一个单词,表示该文章对应和讯哪一个频道"

comment "浏览轨迹日志"
partitioned by(day string comment "按天的分区表字段")
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE 
location '/hive/default/test_kwu';  --注意:此处的路径对应到数据库的路径(去掉 "/hdfs"),后缀加上table的名称。


3、装载数据
load data local inpath '/home/kwu/data/20150512.dat' overwrite into table test_kwu partition (day='20150512');
insert into table test_kwu PARTITION (day='20150507')  select  dateday, datetime,ip,cookieid,userid, logserverip,referer,
requesturl ,remark1,remark2,alexaflag,ua,wirelessflag  from test_kwu  ;


4、压缩处理
set hive.enforce.bucketing=true;
set hive.exec.compress.output=true;
set mapred.output.compress=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;
insert overwrite table test_kwu PARTITION (day='20150507')  select  dateday, datetime,ip,cookieid,userid, logserverip,referer,
requesturl ,remark1,remark2,alexaflag,ua,wirelessflag  from test_kwu  ;


5、基本查询语句
查询每天的PV
select dateday,count(*) from tracklog group by dateday;


尽量避全表的聚合函数
select count(*) as cnt from tracklog group by cookieid having cnt=1 ;  


可采用子查询代替
select dateday,count(t.cookieid) from (
select count(cookieid) as cnt,cookieid,dateday
from tracklog  
group by cookieid,dateday  having cnt=1 
) t group by dateday;


【大数据基础实践】(六)数据仓库Hive基本操作_熟悉hive基本操作 解决方法:查看hadoop安装目录下 share/hadoop/common/lib 内 guava.jar 版本,查看 hive安装目录下lib内guava.jar的版本,如果两者不一致,删除版本低的,并拷贝高版本的。在student_zqc中添加两个分区Dept=’CS’和Dept=’SE’,从本地导入数据到student_xxx的两个分区中,分别查看两个分区所有记录,查看数据存储目录;从HDFS导入数据到grade_xxx中,查看grade_xxx所有记录,查看数据存储目录; 阅读详情

相关推荐

Hive基础(一)

Hive是什么?        Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成为一张数据库,并提供类SQL的查询功能。可以将sql语句转化为MapReduce任务进行运行。 Hive架构     &am

qq_41975699的博客 6764

数据仓库架构设计的一点概念

1、 STAGE层 业务系统的数据接入到数据仓库,首先将业务数据仓储到STAGE层中,Stage层作为一个临缓冲区,并屏蔽对业务系统的干扰。 STAGE层中的结构和数据定义一般与业务系统保持一致。 Stage中的数据可以每次全量接入也可以每次增量接入,一般都有会数据老化的机制,不用长期保存。 Stage的数据不会对外部开放。 2、 ODS层 ODS才是数据仓库真正意义上的基础数据,数据是被清...

景山编程-顺道编程 1057

Hive 数据库基本操作

Hive 基本操作 1. 数据库操作(增、删、改、查) 1.1 创建数据库 create database if not exists test_001; use test_001; 说明:hive存放位置模式是由 hive-site.xml 当中的一个属性指定的,默认是存放在该配置文件设置的路径下,也可在创建数据库单独指定存储路径。 <name>hive.metastore.warehouse.dir</name> <value>/user/hi

Python+大数据+数据分析+自动化+Vue组件开发 3062

【大数据基础实践】(六)数据仓库Hive基本操作

目录1. 数据仓库概念2. Hive简介2.1 简介2.2 特性2.3 生态系统3. Hive系统架构4. HQL转成MapReduce作业的原理4.1 join的实现原理4.2 group by的实现原理5. 实验练习5.1 环境配置5.1.1 HIVE5.1.2 MYSQL5.1.3 配置MySql为hive元数据存储数据库5.2 Shell进行实验内容5.2.1 新建一个数据库;5.2.2 新建5.2.3 添加分区5.2.4 导入grade_zqc5.2.5 统计男、女生人数5.2.6 统计每个学生

面向生活编程 8097

【大数据day17】——Hive数据仓库(数据库与数据仓库的区别,Hive 的基本概念, Hive 的安装, Hive 的安装,Hive基本操作1)

数据仓库-Hive 1. 数据仓库 1.1. 基本概念 英文名称为Data Warehouse,可简写为DW或DWH。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。 数据仓库是存数据的,企业的各种数据往里面存,主要目的是为了分析有效数据,后续会基于它产出供分析挖掘的数据,或者数据应用需要的数据,如企业的分析性报告和各类报等。 可以理解为:面向分析的存储系统。 1.2. 主要特征 数据仓库是面向主题的(Subject-Oriented )、集成的(In

qq_38454176的博客 1079

Hive基本操作——Database

目录1.创建数据库 Create Database2.删除数据库 Drop Database3.修改数据库 Alter Database4. 使用数据库 Use Database5.其他常用操作 1.创建数据库 Create Database CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_com...

x12345_的博客 795

Hive中数据库Database基本操作

Database Create Database CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path]//默认在仓库根目录 [WITH DBPROPERTIES (property_name=property_value, ...)];...

你说_的博客 6409

Hive数据仓库Hive 的交互方式和基本操作

1. Hive 的交互方式 第一种交互方式:bin/hive 第二种交互方式:使用 sql 语句或者 sql 脚本进行交互 2. Hive基本操作 2.1 数据库操作 创建数据库: create database if not exists myhive; 创建数据库并指定位置: create database myhive location '/myhi...

cpz 477

【大数据开发】Hive——Hive的概念、架构、安装Hive三种模式、Hive基本操作day43

一、hive的概念 为什么有Hive Hive最初由FaceBook研发出来。由于每天产生的数据量大,使用MapReduce处理的效率比较低,而MapReduce的学习成本比较高,且类SQL的方法,工作效率比较高。Hive的入门简单。 Hive是什么 Hive是一个基于hadoop的数据仓库。可以通过类SQL的方式来对数据进行读、写等管理的功能。 Hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张书就可以,并提供类SQL的查询功能 Hive的主要用途 用来做离线书籍

白色风车 644

HIVE数据库的基本操作

HIVE的特点:HIVE 不支持行级插入操作、更新操作和删除操作         HIVE 不支持事物 I 数据库 1 创建数据库 hive> create database financials; or hive> create database if not exists financials; 2 查看包含的数据库 hive> show databases; 使用正

u012730840的专栏 2882

数据仓库Hive的安装和使用

Hive是一个基于Hadoop的数据仓库工具,可以用于对存储在Hadoop 文件中的数据集进行数据整理、特殊查询和分析处理。1.下载安装文件http://mirror.bit.edu.cn/apache/hive/#下载Hive安装文件hadoop@dblab:/usr/local$ sudo wget http://mirror.bit.edu.cn/apache...

weixin_34197488的博客 365

Hive基本操作-数据库的创建和删除

Hive基本操作 创建数据库 create database if not exists myhive; use myhive; 说明:hive存放位置模式是由hive-site.xml当中的一个属性指定的 <name>hive.metastore.warehouse.dir</name> <value>/user/hive/wareho...

Leon_Jinhai_Sun的博客 586

【大数据基础实践】(六)数据仓库Hive基本操作_熟悉hive基本操作(2)

Hive是一个构建于Hadoop顶层的数据仓库工具依赖分布式文件系统HDFS存储数据,依赖分布式并行计算模型MapReduce处理数据,本身不存储和处理数据(区别:传统数据仓库支持数据存储和处理分析)支持大规模数据存储、分析,具有良好的可扩展性定义了简单的类似SQL 的查询语言——HiveQL/HQL用户可以通过编写的HQL语句运行MapReduce任务可以很容易把原来构建在关系数据库上的数据仓库应用程序移植到Hadoop平台上是一个可以提供有效、合理、直观组织和使用数据的分析工具。

2401_84573481的博客 877

Hive数据库基本操作

Hive 提供了丰富的数据操作功能,包括数据库和创建、数据的导入导出,以及复杂的查询操作等。掌握这些基本操作对于大数据分析至关重要。

m0_50652491的博客 673

2.1-2.2 Hive 中数据库(Table、Database)基本操作

官网文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL一、create table1、官方字段# # CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name -- (Note: TEMPORARY availab...

weixin_30273175的博客 354
上一篇: 使用嵌套子查询优化hive的SQL
下一篇: shell脚本截取日期处理
大数据部
博客等级 码龄11年 81粉丝 81原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值