hive
没有合适的昵称
个人工作学习笔记
展开
-
hive order by/sort by /distribute by /cluster by
官网说明https://cwiki.apache.org/confluence/display/Hive/LanguageManual+SortByorder by全局排序,但是只有一个reduce,因此在数据量很大的情况下,效率很低sort by单个reduce内有效,但是全局无序,要想实现和order by 一样的效果,必须要进行一次归并排序(下面讲),控制个数:set mapred.reduce.tasks=xxx 如果是spark则是控制partitionsdistribute by原创 2020-11-22 10:44:15 · 155 阅读 · 0 评论 -
hive长尾优化
背景在刚使用hive的过程中,碰到过很多问题,任务经常需要运行7,8个小时甚至更久,在此记录一下这个过程中,我的一些收获join长尾背景SQL在Join执行阶段会将Join Key相同的数据分发到同一个执行Instance上处理。如果某个Key上的数据量比较多,会导致该Instance执行时间比其他Instance执行时间长。其表现为:执行日志中该Join Task的大部分Instance都已执行完成,但少数几个Instance一直处于执行中,这种现象称之为长尾长尾类别&优化方法小表长尾原创 2020-10-28 22:21:09 · 1070 阅读 · 2 评论 -
hive往指定位置添加字段
1原创 2020-07-02 22:00:06 · 3004 阅读 · 0 评论 -
hive join优化点(持续更新)
left semi join 代替 IN 字句的select m.* from 大表1 m where m.ID in (select l.ID from 小表2 l); -- 性能非常差,使用left semi join代替select m.* from 大表1 m left semi join 小表2 l on m.ID = l.ID limit 10;--但是 小表2 中的字段不...原创 2020-05-04 11:30:24 · 1589 阅读 · 0 评论 -
Column type: DECIMAL(10,4), Parquet schema:\noptional int64 vender_num_of_faces_on_shelf [i:12 d:1
参考了一些博客:https://blog.csdn.net/harli_xxy/article/details/51820731最后我把decimal类型改成double就可以了原创 2020-03-30 19:52:09 · 1880 阅读 · 0 评论 -
FAILED: SemanticException [Error 10025]: Expression not in GROUP BY key ....
背景:查出最后一次车辆停车的位置坐标思路:对结束时间排序,然后GROUP BY,再取出组内的第一条数据报错信息如标题解决:SELECT VEHICLEID,collect_set(LNG)[0] FROM (select * from gis_cal_dailystop_freq order by endtime DESC) bGROUP BY b.VEHICLEID;参考:ht...原创 2019-12-31 14:53:48 · 3827 阅读 · 0 评论 -
shell往hive SQL文件中传递参数
传递一个值:-hiveconf dataPath=${变量值}当然也可以:-hivevar多个值:-hiveconf dataPath=${变量值} -hiveconf dataPath1=${变量值}原创 2019-12-30 19:26:35 · 2892 阅读 · 0 评论 -
hive自定义UDF函数
说明:有时候,hive的自定义函数,以及满足不了我们的需求了,那么这时候我们就需要自己写一些函数,来满足我们的业务需求,下面记录一次自定义函数的实现方法一:import org.apache.hadoop.hive.ql.exec.UDF;/** * 自定义的hiveUDF函数,用于计算两点(经纬度)之间的距离是否超过1KM */public class DistanceCalcul...原创 2019-12-25 20:07:50 · 2419 阅读 · 0 评论 -
spark执行时的踩坑(持续更新)
回顾以前的知识点,重新走一次,结合工作中遇到的问题,做一些总结笔记start-thriftserver.shspark需要连hive,那么就需要启动这个,利用命令:$SPARK_HOME/sbin/start-thriftserver.sh \--hiveconf hive.server2.thrift.port=10000 \--hiveconf hive.server2.thrift...原创 2019-08-28 13:21:28 · 2666 阅读 · 0 评论 -
hive 如何在配置中设置分区的非严格模式
hive配置中对hive.exec.dynamic.partition.mode的说法如下:在严格模式下,用户必须指定至少一个静态分区以防用户意外覆盖所有分区。在非严格模式下,所有分区都允许是动态的。事实上,我们很多时候都需要设置为非严格模式设置成非严格模式的两种方式:1.每次hive会话的时候加上如下配置设置:set hive.exec.dynamic.partition.mode...原创 2019-10-23 08:42:59 · 6569 阅读 · 2 评论 -
hive中的坑(持续更新中)
Error: org.apache.spark.sql.AnalysisException: java.lang.IllegalArgumentExceptio ...原创 2019-10-21 21:11:23 · 1093 阅读 · 0 评论 -
Hive beeline和Spark SQL兼容Hive – 配置
Hive beeline和Spark SQL兼容Hive – 配置Hive beeline上面安装后直接输入hive是CLI的操作方式,在后面可能会被舍弃掉,换用beeline方式去连接,因为目前使用CLI的人比较多,所以还暂未舍弃1.打开hiveserver2的服务:nohup KaTeX parse error: Expected 'EOF', got '&' at positi...原创 2019-08-29 07:55:57 · 2995 阅读 · 0 评论 -
hive操作总结DDL
话不多说,直接写笔记了,你不用知道数据原本是什么样的,能够举一反三就行,操作都是一样的,只是场景不同而已,另外一些没有备注操作是干嘛的,复制粘贴看下就知道啦,很简单的,如果你有MySQL等数据库基础,一般都看得懂,注意,下面的所有你看到的 都是空格,不是table键打出来的,因为table键打出来的,在CLI和beeline上是不支持的,是会报错的基本操作CREATE DataBase语法...原创 2019-08-29 19:07:23 · 1783 阅读 · 0 评论 -
hive操作总结DML
Loading files into tables(将数据加载到表中)CREATE TABLE employee LIKE sensor.employee;LOAD DATA LOCAL INPATH '/home/hadoop-jrq/hive-course/employee.txt' OVERWRITE INTO TABLE employee;LOAD DATA LOCAL INPATH...原创 2019-08-31 09:01:04 · 1717 阅读 · 0 评论 -
zeppelin安装使用
Zeppelin的安装登陆到slave1上,执行如下命令:cd bigdatawget http://mirror.bit.edu.cn/apache/zeppelin/zeppelin-0.8.0/zeppelin-0.8.0-bin-all.tgztar -xvf zeppelin-0.8.0-bin-all.tgzcd zeppelin-0.8.0-bin-all启动:bin/...原创 2019-09-01 19:31:51 · 1501 阅读 · 0 评论 -
hive和spark版本问题
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient当你在执行hive命令之...原创 2019-09-06 10:33:46 · 2982 阅读 · 8 评论 -
Hive安装的三种模式
前提java1.7,最好是java1.8,hadoop2.x, mysql下载Hive安装包: https://mirrors.tuna.tsinghua.edu.cn/apache/hive/stable-2/概念Hive Metastore有三种配置方式,分别是:1.Embedded Metastore Database (Derby) 内嵌模式2.Local Metastore ...原创 2019-08-28 19:01:28 · 2140 阅读 · 0 评论