Hive常用

主要整理于2011、2012年

1、启动server及元数据

    nohup hive --service hiveserver2 10000 > /dw/log/hiveserver.log 2>&1 &
      nohup hive --service metastore 9083 > /dw/log/metastore.log 2>&1 &

2、字符集
hive元数据存储用mysql时,无法用utf-8字符集问题:
是由于表partition_keys中PKEY_NAME长度过长导致,将PKEY_NAME长度改小即可(innodb(255),myisam(333)).
3、hadoop命令

    hadoop fs -ls /data/stg/s_user_cndt/2011/08/   #查看当前目录
     hadoop fs -mkdir /data/stg/s_user_cndt/2011/08/04  #创建目录
     hadoop fs -copyFromLocal /home/hadooper/fdp/data/s_user_cndt.txt /data/stg/s_user_cndt/2011/09/21/ #put文件
     hadoop dfsadmin -report #报告状态

4、添加分区

     alter table s_user_cndt add partition(year=2011, month=08, day=04);
     ALTER TABLE s_prod_down ADD PARTITION (year=2011, month=10, day=11) LOCATION '/data/stg/feiliao/2011/10/11' PARTITION (year=2011, month=10, day=12) LOCATION '/data/stg/feiliao/2011/10/12';

5、导入数据

  LOAD DATA LOCAL INPATH '/tmp/test.txt' OVERWRITE INTO TABLE test1 PARTITION (day_id=20120101);

6、导出文件

  insert overwrite local directory '/tmp/fdp/data/tmp/'
          select INTERNAL_ID,LAST_OP_TIME,CLIENT_TYPE,PLATFORM_TYPE,CLIENT_VERSION,ITEM,ITEM_DIRE,ITEM_VALUE,ITEM_TYPE,CREATE_DATE        from s_user_cndt where year=2011 and month=09 and day=18 and client_type = 15;
          cat * > tmp.txt         
          sed 's/\x01/,/g' tmp.txt > s_user_cndt.txt
          scp s_user_cndt.txt appuser@172.21.0.240:/data/fdp/tmp/     

7、insert overwrite如果无数据,不会覆盖
8、map类型使用

select user_id, t_key, t_value
from(
SELECT user_id, map_keys(word_ids) as t_keys, map_values(word_ids) as t_values FROM test2
)b LATERAL VIEW explode(t_keys) tk as t_key LATERAL VIEW explode(t_values) tk as t_value; 

9、创建包含map类型表
create table test2(user_id int, word_ids map<string, string>) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':' STORED AS TEXTFILE ;
10、函数

     add jar /home/hadoop/tmp/participle.jar;
     create temporary function f_split_word as 'com.dmp.participle.ParticipleUDF';

11、中文乱码,在mysql元数据中

Use hive;
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;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hive常用算子原理如下: 1. Common Join算子:也称为Reduce端Join,是所有Join操作的基础。在Common Join中,Hive扫描并处理多张表,将相同Join Key的记录放在一起(通过相同的Reduce操作),最终得到结果。具体流程如下:Mapper阶段扫描并处理多张表,生成发送给Reduce的<Key, Value>对,其中Key是由Join Key和TableAlias组成,Value是记录的内容;Shuffle阶段将相同Join Key的数据发送到相同的Reduce操作;Reducer阶段处理Join Key并输出结果。 2. MapReduce算子:MapReduce是Google基于函数式编程map和reduce提出的一种分布式编程模型,隐藏了分布式集群的实现细节。在Hive中,MapReduce算子用于执行各种数据转换和计算操作,如映射、聚合、排序等。MapReduce算子的执行流程包括Map阶段,Reduce阶段和Shuffle阶段,通过这些阶段将数据分布式处理,最终得到结果。 3. SQL编译成MapReduce的过程:在Hive中,SQL语句会被编译成MapReduce任务进行执行。编译过程包括将SQL语句解析为逻辑计划,优化逻辑计划,生成物理计划,并最终将物理计划转换为MapReduce任务。具体实现原理涉及到Hive的编译器、优化器和执行器等组件的协作工作。 总结起来,Hive常用算子的原理包括Common Join算子、MapReduce算子和SQL编译成MapReduce的过程。这些算子和过程在Hive中扮演了关键角色,实现了数据处理和计算的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [hive原理与源码分析-算子Operators及查询优化器Optimizers(四)](https://blog.csdn.net/wzq6578702/article/details/71807709)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Hive原理分析](https://download.csdn.net/download/weixin_38589314/15438833)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [大数据之Hive(八):Hive SQL底层执行原理](https://blog.csdn.net/weixin_44291548/article/details/119764961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值