hive基本用法

hive 删除分区
alter table  pdm.mkt_asset_star_71 drop partition (end_dt='3000-12-31');
alter table  pdm.mkt_asset_star_71 drop partition (end_dt='2017-02-26');
三分之一时间处理           
from_unixtime(unix_timestamp(a.last_upd,'yyyy-MM-dd:HH:mm:ss') + 28800,'yyyy-MM-dd')  as last_upd_dt,
时间戳处理
from_unixtime(unix_timestamp(state_dt,'yyyy/MM/dd HH:mm:ss'),'yyyy-MM-dd HH:mm:ss.0' )as state_dt

转码
iconv -f gbk -t utf-8 /inter4/ODS/bak/20170401/LOC_TELECOM_AREA_1_0020170401.dat -c -o /inter4/ODS/data/20170401/LOC_TELECOM_AREA_1_0020170401.dat

iconv -f gbk -t utf-8 aaa.dat -o aaa_test.dat
put 
hadoop fs -put /user/sjzx_b/data/get_data/zcj_test/


get
show create table
hadoop fs -get /user/sjzx_b/hive/sjzx_test.db/jx_yidong_zaiwang_user_201607/

文件合并 cat

scp  
scp 000000_0 ogg@134.96.180.139:/att/init

load
load data inpath /user/sjzx_b/data/get_data/zcj_test/xx.txt
overwrite into table sjqy.xx;

hive 创建表结构
drop table if exists pdm.ofr_asset_relate_hist_${latnid};\n
create table if not exists pdm.bak_ofr_cdsc_grp_agree_info_z(
 agree_info_row_id      string         comment '群组协议唯一编号' 
 ,agree_row_id           string        comment '群组协议号'       
 ,cdsc_row_id            string        comment '优惠唯一编码'     
 ,cdsc_eff_dt            date          comment '生效时间'         
 ,cdsc_exp_dt            date          comment '失效时间'         
 ,cdsc_para_num          decimal(18,0) comment '参数个数'         
 ,cdsc_para1             string        comment '参数1'             
 ,etl_time               string        comment '数据入库时间'
 )
 partitioned by (etl_wk int)
 row format delimited fields terminated by ','   

hbese 和 hive 的区别

hive :使用mr封装的数据仓库工具,不是数据库。一般用来做分析业务使用 不直接接入业务
        hive 将hql 语句封装成MapReduce 运行再YARN 平台上
hbase :是一个面向列的非关系型数据库 分布式架构
           核心功能 是用来存储和检索数据 可以直接接入业务系统
           不依赖yarn 和MapReduce
zookeeper 是一个分布式的 开放源码的应用协调服务  配置维护 域名维护 分布式同步的
                  目标 就是封装好容易出错的服务。把简单易用的接口和服务提供给用户

hive 中join 机制和原理

hive 中 join 有两种
common join  一般是在reduce 端来完成join 
Map join 

  Common join 分为 3中
  Map  端 将 on 条件中的key 组合起来
  Shuffle  阶段进行 key value 组合 也就是 hash 两个表中相同的key 在同一个表中
  Reduce   通过key的值完成 join 操作

Map jion  通过设置 最小表的 文件大小参数
hive.mapjoin.smalltable.filesize   原理就是将小表加载到内存当中  能够快速的实现

### Hive基本DDL语句概述 Hive的数据定义语言(Data Definition Language, DDL)用于管理数据库对象,如表、视图和索引等。以下是关于创建、修改和删除表的基本语法示例。 --- #### 创建表 在Hive中可以通过`CREATE TABLE`语句来创建新表。可以指定列名及其数据类型,并可以选择是否为外部表或其他存储选项。 ```sql -- 创建内部表 CREATE TABLE IF NOT EXISTS stu ( id INT, name STRING ); -- 创建外部表 CREATE EXTERNAL TABLE IF NOT EXISTS emp ( employee_id INT, department STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE LOCATION '/path/to/external/data'; ``` 上述代码展示了如何创建一个简单的内部表以及带有特定存储位置的外部表[^3]。 --- #### 修改表 使用`ALTER TABLE`语句可更改现有表的名称、添加或删除列以及其他属性调整。 - **重命名表** ```sql ALTER TABLE old_table_name RENAME TO new_table_name; ``` 此命令允许将现有的表更改为新的名字[^1]。 - **增加列** 如果需要扩展表结构,则可通过如下方式新增字段: ```sql ALTER TABLE table_name ADD COLUMNS (new_column_name column_type); ``` 例如,在已有学生信息基础上加入年龄一栏: ```sql ALTER TABLE stu ADD COLUMNS (age INT); ``` - **替换整个Schema** 当希望完全更新某张表格的所有列定义时可用下面方法替代原有schema: ```sql ALTER TABLE table_name REPLACE COLUMNS (...columns definitions...); ``` 这些功能均属于常见alter操作的一部分[^2]。 --- #### 删除表 若不再需要某个表或者想清理资源,可以执行drop动作: ```sql DROP TABLE [IF EXISTS] table_name; ``` 该指令会彻底移除目标关系型实体连同其元数据记录一起销毁[^4]。 注意区分普通Drop与级联模式下的行为差异——后者还会牵涉到关联依赖项处理逻辑。 --- ### 总结说明 以上分别介绍了有关于建立、修订及废弃hive环境里各类table实例的具体实现办法。每一步骤都紧密围绕着实际应用场景展开讨论并辅以相应示范片段予以佐证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值