Hive数仓基本

本文介绍了如何使用Hive进行数据仓库建表和数据导入,特别是按照时间分区的方式(年/月/日)。通过Shell脚本,新建Hive数据库和统计表,并进行查询操作,统计用户ID数量。在执行HSQL语句获取结果赋值给Shell变量时,需注意符号的使用。
摘要由CSDN通过智能技术生成


【hive建表】

create table CharacterLogin(
AppID string,
GameID string,
ChildId string,
IP string,
ServerID string,
AccountID string,
CharacterID string,
LogType string,
LogTime int,
PlatformChannelId string,
IsLogin int,
OnlineTime int,
Level int,
VIPLevel int
)
partitioned by(year string,month string,day string) row format delimited fields terminated by '|';

【数据导入】
将数据根据时间分区导入Hive,分区格式为,年/月/日(将文件用xshell上传到linux过程略)

shell脚本如下

#!/bin/bash

path="/home/li/Desktop/CharacterLogin"
 
files=$(ls $path)
 
for filename in $files
do 
  filename=${filename%.*}
     
    var1=`echo "$filename"|awk -F '-' '{print $1}'`
    var2=`echo "$filename"|awk -F '-' '{print $2}'`  
    var3=`echo "$filename"|awk -F '-' '{print $3}'`      
  $HIVE_HOME/bin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop Hive 是构建在 Hadoop 生态系统上的数据仓库基础设施,它提供了一种类似于 SQL 的查询语言,用于处理和分析存储在 Hadoop 分布式文件系统(HDFS)中的大规模数据。 Hive基本原理如下: 1. 数据存储:Hive 将数据以表的形式存储在 HDFS 上,数据可以是结构化、半结构化或非结构化的。Hive 表定义包含表的结构(例如列和数据类型)以及数据的存储位置。 2. 元数据管理:Hive 使用元数据来管理表和表之间的关系。元数据包括表的结构、分区信息、表的存储位置等。Hive 的元数据可以使用自带的 Derby 数据库或者外部数据库(如 MySQL)进行存储。 3. 查询优化与执行:Hive 提供了类似于 SQL 的查询语言 HiveQL,用户可以使用 HiveQL 编写查询语句。当用户提交查询时,Hive 会进行查询优化,生成一个逻辑执行计划,并将其转换为 MapReduce 作业或 Tez 任务来执行。 4. 数据转换与计算:Hive 支持用户定义的函数(UDF)和自定义聚合函数(UDAF),用户可以使用这些函数来进行数据转换和计算。Hive 还提供了一些内置函数,用于常见的数据操作和处理。 5. 数据分区与分桶:Hive 支持数据的分区和分桶,可以根据某个列的值将数据划分为多个分区,或者根据某个列的哈希值将数据划分为多个桶。这样可以提高查询性能和数据处理效率。 通过上述原理,Hive 提供了一种方便的方式来处理和分析大规模数据,并且能够与其他 Hadoop 生态系统工具(如Hadoop MapReduce、HBase等)进行无缝集成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值