QA一箩筐

1.所谓的的分区,是真的分成一个一个么按照min?如果将min 改变会不会合并成一个分区?

hive的分区其实是一个个的目录,如果你是每隔15分钟生成一个分区,那就是每隔15分钟生成一个目录。分区是指定数据放在那个目录下,分桶是指定数据放在哪个文件下,merge合并 

2.列转行最快的生成效率,比如两个字段限定,要side=1,direct=1(1,2)(2,1)(2,2)时的其他字段的和

这个看具体场景,如果是固定的规则,可以case when,不固定的话,考虑lateral

lateral:参考链接

3.有没有办法快速查哪个分区没有,或者说缺少一个分区

没有,可以尝试查询一个分区范围然后:select partition_date,count(1) from table_name where partition_date between 20201101 and 20201130 group by partition_date order by partition_date
这样的话,就可以看到11月丢了哪天的分区

4.在一个范围内或者两个符号之间的东西删除或者添加

如果简单的规则,那就replace('1234','23',''),这样把23替换成空就行了,如果是规则比较复杂,那就用正则表达式

5.关于桶

hive里面,分区是目录/文件夹,分桶是文件,一般都是按天分区,按业务类型分桶,如果我想查某天某业务类型的数据,就直接去某天的目录下找到某业务类型的数据文件就行了,查询就会快一些,你看mysql里的数据是不是结构很固定,就算那一列的某几行没有数据,也是占个null或者空在那里,但是hbase就不一定了,他会变的。如果某一列没有某一行的数据,那么就不存在这个字段

6.除了某字段不要,其余都要select —from

先select * 再drop

7.nosql与sql

事务一致性,nosql主要是针对哪些半结构化数据的存储,一般都是key,value的方式存储的,和sql的固定结构不同,他可以很多个性化结构

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值