hive
文章平均质量分 61
小瓶盖的猪猪侠
这个作者很懒,什么都没留下…
展开
-
聚合函数的计划解读
在Reduce阶段执行的聚合hive (default)> set hive.map.aggr=false;hive (default)> explain > select s_age,sum(s_score) avg_score > from student_tb_txt > where s_age<20 > group by s_age;执行原创 2021-06-27 11:28:47 · 98 阅读 · 0 评论 -
hive中的UDF、UDAF、UDTF
(1)UDF(User-Defined-Function)一进一出(2)UDAF(User-Defined Aggregation Function)聚集函数,多进一出类似于:count/max/min(3)UDTF(User-Defined Table-Generating Functions)一进多出如lateral view explore()原创 2021-06-20 13:40:49 · 156 阅读 · 0 评论 -
hive关于MSCK REPAIR TABLE学习
作用我们知道hive有个服务叫metastore,这个服务主要是存储一些元数据信息,比如数据库名,表名或者表的分区等等信息。如果不是通过hive的insert等插入语句,很多分区信息在metastore中是没有的,如果插入分区数据量很多的话,你用 ALTER TABLE table_name ADD PARTITION 一个个分区添加十分麻烦。这时候MSCK REPAIR TABLE就派上用场了。只需要运行MSCK REPAIR TABLE命令,hive就会去检测这个表在hdfs上的文件,把没有写入met原创 2021-05-20 23:53:24 · 363 阅读 · 0 评论 -
Hive中的分区和存储桶
分区分区是一种用于增强配置单元中查询性能的技术。通过将数据重组到子目录中来完成此操作。让我们通过一个例子来理解这个概念。假设我们有一个10 GB的大文件,其中包含客户的地理数据。现在,我们要提取特定国家/地区和特定employeeeId的记录。为此,它将执行表扫描以读取所有行,然后仅选择满足给定谓词的那些记录。现在,如果我们按国家对表进行分区并运行查询,它将不会扫描整个表,而只会查看该特定国家/地区的子目录。我们可以看到查询的执行计划,以验证它仅查找一个过滤谓词(即employeeId)。它将直接进入原创 2021-05-20 21:37:08 · 179 阅读 · 0 评论 -
hive关于partition的学习
为什么在Hive中使用分区首先要了解这一点,让我们看一个场景。可以说有一家跨国银行,名称为ABC_BANK,跨多个国家。现在,我们有了一个表,其中包含名为“ new_cust ”的新客户的信息。假设您想找出来自“USA”的新客户数。hive这样做如下搜索所有国家,并过滤’USA’的记录计算“美国”的新客户数量这样可以提供正确的输出,但是我们可以优化它,以便Hive更快地获取记录。如果Hive在已经存在属于USA的记录的地方已经很新了,那么它不必遍历所有国家/地区的记录该怎么办?这可以使用Hive P原创 2021-05-20 21:07:21 · 745 阅读 · 1 评论 -
hive索引
hive索引介绍Hive的索引目的是提高Hive表指定列的查询速度。没有索引时,类似’WHERE tab1.col1 = 10’ 的查询,Hive会加载整张表或分区,然后处理所有的rows,但是如果在字段col1上面存在索引时,那么只会加载和处理文件的一部分。与其他传统数据库一样,增加索引在提升查询速度时,会消耗额外资源去创建索引和需要更多的磁盘空间存储索引。Hive 0.7.0版本中,加入了索引。Hive 0.8.0版本中增加了bitmap索引。Hive只有有限的索引功能。没有关系型数据库中键原创 2021-05-19 23:51:51 · 291 阅读 · 0 评论 -
hive中的Sort By, Order By, Distribute By, and Cluster By
使用的表格下面是文中使用到的数据SalesYear Amount2017 1002018 2002019 3002020 4002017 5002018 6002019 7002020 8001 SORT BYSORT by子句对每个reducer的数据进行排序。结果,如果我们有N个减速器,则输出中将有N个排序文件。这些文件的数据范围可以重叠。同样,输出数据也不是全局排序的,因为配置单元会根据SORT BY子句中使用的键列对行进行排序,然后再将它们提供给减速器。SORT BY子句的原创 2021-05-19 21:12:39 · 531 阅读 · 2 评论 -
hive条件查询
1、语法条件语句描述返回Isnull( a )当(a)的值为NULL时,此方法返回true,否则返回false。Return: booleanIsnotnull ( a )当(列)的值不为NULL时,此方法返回true,否则返回false。Return: booleanIf(boolean testCondition, T valueTrue, T valueFalseOrNull)类似于SQL查询中存在的IF条件。当testCondition为true时,此方原创 2021-05-18 23:59:25 · 729 阅读 · 0 评论 -
hive学习之数据插入操作
1、插入于法 insert into 和insert overwriteINSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement1 FROM from_statement;INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]] s原创 2021-05-18 21:21:44 · 14522 阅读 · 0 评论